1

我在这里有一张图片来解释我的查询 在此处输入图像描述

正如您在图像中看到的那样,我有很多文本字段,现在光标位于文本字段上(光标可以位于任何文本字段上)。正如您可以禁用最后 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);
            }
        });
4

1 回答 1

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();
}

查看如何使用焦点子系统了解更多详细信息

于 2013-11-07T07:02:40.387 回答