【问题标题】:Mouse cursor change once ENTER pressed按下 ENTER 后鼠标光标改变
【发布时间】:2013-11-07 15:02:40
【问题描述】:

我在这里有一张图片来解释我的查询

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

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

【问题讨论】:

    标签: java swing mouseevent jtextfield keyboard-events


    【解决方案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了解更多详情

    【讨论】:

      猜你喜欢
      • 2011-02-28
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 2019-03-22
      相关资源
      最近更新 更多