Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-JTable密钥绑定_Java_Swing_Jtable_Key Bindings - Fatal编程技术网

Java-JTable密钥绑定

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

我想更改JTable上ENTER键的默认操作,使其具有与F2键相同的功能。所以我使用了键绑定,它工作得很好。只有一个问题:如果F2键是同一单元格上的第二次编辑,则停止编辑,但ENTER键不执行相同的操作,它总是在按下时开始编辑。这是我的密码:

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