如果有人編輯JTable的單元格內容並按下回車鍵,則會修改內容並將表格選擇移動到下一行。如何讓JTable停留在編輯的單元格上
是否可以通過在單元版之後禁止JTable進入下一行?
原因是我的程序使用ListSelectionListener在單元格選擇上同步了一些其他窗口小部件,並且我不想在編輯當前單元格後選擇下一行。
如果有人編輯JTable的單元格內容並按下回車鍵,則會修改內容並將表格選擇移動到下一行。如何讓JTable停留在編輯的單元格上
是否可以通過在單元版之後禁止JTable進入下一行?
原因是我的程序使用ListSelectionListener在單元格選擇上同步了一些其他窗口小部件,並且我不想在編輯當前單元格後選擇下一行。
默認綁定爲輸入是Action
名爲selectNextRowCell
。要覆蓋WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
輸入映射中的條目,您需要提供doNothing()
Action
,如How to Use Key Bindings: How to Make and Remove Key Bindings中所述。
我不確定究竟該怎麼做,但我會考慮ActionMap。您應該可以修改或替換映射到「輸入」鍵的操作。
祝你好運!
很棒的建議!完成的工作是添加一個對table.getCellEditor()的調用。stopCellEditing();在actionPerformed(...)方法中。如果沒有這個調用,當用戶按下回車鍵時,單元格仍然處於編輯模式。 – Martin
好點;另請參閱[使用編輯器驗證用戶輸入的文本](http://download.oracle.com/javase/tutorial/uiswing/components/table.html#validtext)。 – trashgod