2012-02-15 46 views
3

我使用addMouseListener(有很多方法来实现)
并且还可以添加添加keyListener。
有没有更好的方法来获得行选定的侦听器?
谢谢。有没有办法在JTable上添加一行选定的侦听器?

+1

请澄清你真正想要什么:当行的_selection_改变或当某一行的_data_改变时被通知?这两个答案适用于其中一个要求:-)除此之外,在Swing中,您永远不需要keyListener,也很少需要mouseListener。 – kleopatra 2012-02-15 14:12:33

+0

谢谢。刚刚更新。 – Jeb 2012-02-15 14:38:45

回答

32

如果您想要听选择更改(即行内没有更改值),您可以使用:yourJTable.getSelectionModel().addListSelectionListener(yourListener);

+1

+1,它确实帮了我:-),下面的答案也一样。 – 2012-02-15 14:25:54

8

你试过了吗?

jTable1.getModel().addTableModelListener(new TableModelListener() { 
     public void tableChanged(TableModelEvent e) { 
      if(e.getType() == e.UPDATE){ 
       System.out.println(e.getColumn()); 
       System.out.println(e.getFirstRow()); 
       System.out.println(e.getLastRow()); 
      } 
     } 
    }); 

@assylias是啊有一个选择的问题没有改变。我的错误误解了这个问题。

+0

标题提及行**改变了**所以不知道他的意思是... – assylias 2012-02-15 14:00:35

+1

+1,它确实帮了我:-),上面的答案也一样。 – 2012-02-15 14:25:39

+0

不是一个错误 - 问题不一致:-) – kleopatra 2012-02-15 15:39:01

相关问题