在jTable上使用Enter键Act Like Tab键

时间:2014-05-14 07:51:22

标签: java swing tabs jtable enter

我在我的项目中停留了2天我无法实现如何使输入键 TAB KEY 那样尝试键侦听器< / strong>但是ENTER键有一个JTable的默认功能,所以它不能正常工作它继续向下移动。我google发现我需要使用密钥绑定,但我无法实现它。

任何人都可以在JTable上给我一个完整的编码示例???请你帮忙。

提前致谢

3 个答案:

答案 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

>

通过焦点管理器更改默认焦点行为来控制 Tab 的功能

答案 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
    }
});

您所谈论的默认行为存在于操作图中,默认情况下已初始化。