2012-02-15 50 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

相關問題