2009-09-11 92 views
0

我想創建一個jTable,當用戶選擇一個不可編輯的單元格時,它應該將焦點自動更改爲下一個可編輯的單元格。重要提示:用戶可以通過鍵盤(選項卡或箭頭)和鼠標單擊來選擇單元格。可能嗎??如何去做?選擇下一個單元格JTable

+0

我不明白,使用怎樣selectionModel的使聚焦去那可編輯的單元格。你爲什麼不發佈你的代碼,以便其他人可以從中學習。 – camickr 2009-09-12 01:12:57

回答

0

Table Tabbing顯示瞭如何使用鍵盤來完成此操作。

我從來沒有嘗試過,但你應該可以在單擊單元格時使用MouseListener來調用相同的動作。

只是做對的MouseListener快速測試,它似乎很好地工作:

JTable table = new JTable(...); 
final EditableCellFocusAction action = 
    new EditableCellFocusAction(table, KeyStroke.getKeyStroke("TAB")); 

MouseListener ml = new MouseAdapter() 
{ 
    public void mouseReleased(MouseEvent e) 
    { 
     JTable table = (JTable)e.getSource(); 
     int row = table.rowAtPoint(e.getPoint()); 
     int column = table.columnAtPoint(e.getPoint()); 

     if (! table.isCellEditable(row, column)) 
     { 
       ActionEvent event = new ActionEvent(
        table, 
        ActionEvent.ACTION_PERFORMED, 
        ""); 
       action.actionPerformed(event); 
     } 
    } 
}; 
table.addMouseListener(ml); 
相關問題