我在我的项目中停留了2天我无法实现如何使输入键像 TAB KEY 那样尝试键侦听器< / strong>但是ENTER键有一个JTable的默认功能,所以它不能正常工作它继续向下移动。我google发现我需要使用密钥绑定,但我无法实现它。
任何人都可以在JTable上给我一个完整的编码示例???请你帮忙。
提前致谢
答案 0 :(得分:4)
KeyStroke tab = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
im.put(enter, im.get(tab));
答案 1 :(得分:4)
基本的改变是使用键绑定API,这将允许您在大多数情况下覆盖许多组件上的默认行为键。
此示例基本上将相同的命名操作应用于 Enter 和 Tab 键,这样可以通过使用单个{{1}轻松修改其行为}。
Action
答案 2 :(得分:0)
您可以在动作地图中指定行为并输入JTable
的输入地图:
InputMap im = table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
Object actionKey = new Object();
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), actionKey);
table.getActionMap().put(actionKey, new AbstractAction() {
@Override
public void actionPerformed(ActionEvent event) {
// Do something for ENTER
}
});
您所谈论的默认行为存在于操作图中,默认情况下已初始化。