按下ENTER键后,鼠标光标会改变

时间:2013-11-07 07:01:15

标签: java swing mouseevent jtextfield keyboard-events

我这里有一张图片来解释我的查询 enter image description here

正如您在图像中看到的,我有很多文本字段,现在光标位于文本字段上(光标可以在任何文本字段上)。 正如您可以禁用最后4个字段中的3个,一旦我按下输入那些已启用。这一切正常。 我的查询是一旦我按下输入如何将光标移动到那里的位置(标记为红色)? 这是按下一次输入键的一小段代码。

((JPanel)frame.getContentPane()).getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke("ENTER"), "doSomething");
        ((JPanel)frame.getContentPane()).getActionMap ().put("doSomething", new AbstractAction() {

            @Override
            public void actionPerformed(ActionEvent arg0) {
                System.out.println("profit");
                // disabledField.setEnabled(true);
                textbox9.setEnabled(true);
                textbox10.setEnabled(true);
                textbox11.setEnabled(true);
            }
        });

1 个答案:

答案 0 :(得分:1)

您可以使用JComponent#requestFocusInWindow

请求关注

例如......

public void actionPerformed(ActionEvent arg0) {
    System.out.println("profit");
    // disabledField.setEnabled(true);
    textbox9.setEnabled(true);
    textbox10.setEnabled(true);
    textbox11.setEnabled(true);
    textbox9.requestFocusInWindow();
}

请查看How to use the Focus Subsystem了解详情