我在swing中编写应用程序,在Jtable中我需要默认行为从右箭头进入键,按回车键移动到右侧单元格。
我已经看到如何使用此方法覆盖enter的默认行为:
private void createKeybindings(JTable table) {
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Enter");
table.getActionMap().put("Enter", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
}
});
}
但是我不知道如何传递右箭头的行为来输入键,在actionPerfomed中,用于向右移动按下回车键。有什么想法吗?
由于
答案 0 :(得分:2)
不要覆盖Enter键的默认行为。
只需使用Enter键分享右箭头操作:
与不同的KeyStroke共享Action的基本代码:
KeyStroke existingKeyStroke = KeyStroke.getKeyStroke("RIGHT");
KeyStroke addedKeyStroke = KeyStroke.getKeyStroke("ENTER");
InputMap im = component.getInputMap(...);
im.put(addedKeyStroke, im.get(existingKeyStroke));