selectionMode=table.getSelectionModel();//取得table的ListSelectionModel.
           selectionMode.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
       selectionMode.addListSelectionListener(new javax.swing.event.ListSelectionListener()
       {
        public void valueChanged(ListSelectionEvent e)
        {
                     System.out.println("jjj");
                 }
       });
我实现jtable监听事件的时候,我点击一个表格,后台却出现了三个“jjj”鼠标按下时出现两个“jjj”然后鼠标松开后出现一个“jjj”。不知道时什么原因,这个问题困扰我了一天了,高手救命~~!!

解决方案 »

  1.   

    下边这段来自java.sun.com的教程,其中有一句Ignore extra messages.可以解决这个问题。但具体原因还没研究。public void valueChanged(ListSelectionEvent e) {
            //Ignore extra messages.
            if (e.getValueIsAdjusting()) return;        ListSelectionModel lsm =
                (ListSelectionModel)e.getSource();
            if (lsm.isSelectionEmpty()) {
                ...//no rows are selected
            } else {
                int selectedRow = lsm.getMinSelectionIndex();
                ...//selectedRow is selected
            }
        }
      

  2.   

    你加错监听了你是要给Table的model加监听啊
    xxx.getTable().getModel().addTableModelListener()...