【问题标题】:How can I set a Component focused whenever the JFrame is focused (e.g. by clicking or with Alt+Tab)?每当 JFrame 聚焦时(例如,通过单击或使用 Alt+Tab),我如何设置聚焦的组件?
【发布时间】:2021-08-13 01:04:34
【问题描述】:

我想要一个 JFrame。当它被聚焦时(通过用鼠标点击它,使用 Alt+Tab 或其他方式——比如在程序中使用它自己的方法进行),一个特定的组件应该被直接聚焦。

在我的情况下,它将是以下内容: 点击 JFrame -> JTextField 获得焦点,用户可以直接在其中写入。 问候,JC

【问题讨论】:

    标签: java


    【解决方案1】:

    来自https://stackoverflow.com/a/6723316/15093679,你可以这样做:

    in = new JTextField(40);
    f.addWindowListener( new WindowAdapter() {
        public void windowOpened( WindowEvent e ){
            in.requestFocus();
        }
    }); 
    

    f 是您的 JFrame,in 是您的 JTextField。

    希望这行得通。

    【讨论】:

      【解决方案2】:

      使用WindowFocusListenerrequestFocusInWindow

      myFrame.addWindowFocusListener(new WindowAdapter() {
          @Override
          public void windowGainedFocus(WindowEvent event) {
              someTextField.requestFocusInWindow();
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2020-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-24
        • 1970-01-01
        • 2011-02-12
        相关资源
        最近更新 更多