Java-JTable密钥绑定
我想更改JTable上ENTER键的默认操作,使其具有与F2键相同的功能。所以我使用了键绑定,它工作得很好。只有一个问题:如果F2键是同一单元格上的第二次编辑,则停止编辑,但ENTER键不执行相同的操作,它总是在按下时开始编辑。这是我的密码:Java-JTable密钥绑定,java,swing,jtable,key-bindings,Java,Swing,Jtable,Key Bindings,我想更改JTable上ENTER键的默认操作,使其具有与F2键相同的功能。所以我使用了键绑定,它工作得很好。只有一个问题:如果F2键是同一单元格上的第二次编辑,则停止编辑,但ENTER键不执行相同的操作,它总是在按下时开始编辑。这是我的密码: InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK
InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
KeyStroke f2 = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
im.put(enter, im.get(f2));
谢谢当您编辑单元格时,重点是正在使用的单元格编辑器。任何按键事件都将由编辑器监听,但不会由
JTable
本身监听。该死!我应该回答吗!:(你仍然可以而且应该!@HovercraftFullOfEels,我想我已经在其他地方做出了类似的回答。搜索它并将在评论中添加链接。这个问题与此不完全相同,但意义更广。如果你控制了编辑器,当编辑器执行操作时,你可以调用stopEditing或类似的eve执行nt