2012-11-05 125 views
1

我試圖做按鍵刪除,但是當我選擇單元格並按下刪除按鈕時,它會在所選單元格中輸入,而不是刪除整行。如何禁用刪除按鈕在選中單元格時不執行任何操作?如何使刪除按鈕刪除JTable中的行?


noo。我在我的GUI上刪除了按鈕,但我想將鍵盤快捷鍵指向此按鈕。我想讓我的鍵盤上的刪除按鈕調用刪除方法。但是,當細胞被選中當我按下它,它在單元格中輸入,而不是刪除整個行

+0

在ActionListener的檢查,如果選定單元格,如果它僅僅是退出功能。 – Blood

+0

在發佈問題之前,請確保您已經[徹底搜索](http://stackoverflow.com/questions/how-to-ask)獲取答案,並且您的問題與已發佈在論壇上的問題不同。在右側窗格的** Related **鏈接下,您的問題有許多相關問題。無論如何,[這](http://stackoverflow.com/questions/6462842/how-to-remove-a-row-in-jtable-via-pressing-on-delete-on-the-keyboard)鏈接似乎是與您的查詢更相關。 – Mohsin

回答

0
Try This: 

MyTableModel mymodel=(MyTableModel)table.getModel(); 
       int rowcount= mymodel.getRowCount(); 
       for(int i = 0;i<rowcount;i++){ 
        mymodel.removeRow(0); 
       } 
2

DefaultCellEditor許多JTable細胞類型委託給JTextField,結合了刪除關鍵delete-next行動。爲了搶佔默認行爲,您必須從DefaultCellEditor中刪除現有的綁定,如How to Use Key Bindings: How to Make and Remove Key Bindings中所示。您可以使用自己的綁定來替換它,如example中所示;典型的DefaultCellEditor顯示爲here

+1

另請參閱此相關的[答案](http://stackoverflow.com/a/13239487/230513)。 – trashgod

0

要禁用自動編輯模式試試這個:

table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);