How to have JTable staying on the edited cell
如果有人编辑 JTable 的单元格内容并按 Enter,则内容会被修改并且表格选择会移动到下一行。
是否可以禁止 JTable 在单元格编辑后转到下一行?
原因是我的程序使用 ListSelectionListener 在单元格选择上同步了其他一些小部件,并且我不想在编辑当前单元格后选择下一行。
Enter 的默认绑定是名为 selectNextRowCell 的 Action。要覆盖 WHEN_ANCESTOR_OF_FOCUSED_COMPONENT 输入映射中的条目,您需要提供 doNothing() Action,如如何使用键绑定:如何制作和删除键绑定中所建议的那样。
- 好建议!要做的全部工作是添加对 table.getCellEditor().stopCellEditing(); 的调用在 actionPerformed(…) 方法中。如果没有此调用,当用户按下回车键时,单元格将保持编辑模式。
- 好点子;另请参阅使用编辑器验证用户输入的文本。
我不确定具体怎么做,但我会研究 ActionMap。您应该能够修改或替换映射到”Enter”键的操作。
祝你好运!
来源:https://www.codenong.com/7970836/