2014-04-07 64 views
0

如何只選擇jtable中每行的第一個單元格,一次一個而另一個細胞不能被選擇?如何只選擇jtable中每行的第一個單元格,一次一個,而其他單元格不能選擇

我的代碼是:

 jTable5.addMouseListener(new MouseAdapter() { 
      public void mouseClicked(MouseEvent e){ 

    int i=jTable5.getSelectedColumn(); 
    System.out.println(i); 
    if(i==0) 
    { 
     jTable5.setCellSelectionEnabled(true); 
     jTable5.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); 

    } 
    else{ 
     jTable5.setCellSelectionEnabled(false); 
    } 
} 

});

仍然在移動第二列的單元格時,首先選擇該單元格,然後取消選擇它。

+0

請嘗試我試過編碼..可以請你建議的東西b etter – beginner

回答

0

首先,禁止行選擇:

setRowSelectionAllowed(false); 

二,創建SelectionListener中,它總是移動選擇到行的第一列:

ListSelectionListener listerner = new ListSelectionListener() { 
    @Override 
    public void valueChanged(ListSelectionEvent e) { 
      setColumnSelectionInterval(0, 0); 
     } 
    }; 

最後的監聽器添加到您的表的列選擇模型

getColumnModel().getSelectionModel().addListSelectionListener(listerner); 
+0

謝謝,代碼適用於我:) – beginner

+0

只有一個問題是我只想要一次選擇一個單元格。 – beginner

+0

然後將選擇模式設置爲SINGLE_SELECTION,就像您在代碼片段 – PKopachevsky

相關問題