【问题标题】:How do I change focus within ConfirmDialog?如何在 ConfirmDialog 中更改焦点?
【发布时间】:2013-08-08 15:54:14
【问题描述】:

我有一个ConfirmDialog 弹出,要求用户输入密码。 我在对话框中插入了JPasswordField 来隐藏密码。一切正常。

我现在遇到的问题是:当对话框弹出时,焦点是“确定”按钮而不是JPasswordField。如下图。

我想知道如何将焦点从“确定”按钮更改为密码字段。

这是我目前的代码:

JPasswordField passField = new JPasswordField();
        
int option = JOptionPane.showConfirmDialog(null, passField, "Enter password", JOptionPane.OK_CANCEL_OPTION);

我不知道从这里去哪里,所以任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: java swing focus joptionpane jpasswordfield


    【解决方案1】:

    焦点放在“确定”按钮而不是 JPasswordField。

    查看Dialog Focus中的RequestFocusListener

    【讨论】:

      【解决方案2】:

      我会实现我自己的JDialog instatn 使用JOptionsPane

      或者你可以试试这样的:

      JPasswordField pass = new JPasswordField()         
      {
          public void addNotify()             
          {                 
              super.addNotify();
              requestFocusInWindow();             
          }         
      }; 
      

      【讨论】:

        猜你喜欢
        • 2011-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-12
        • 2016-05-13
        • 2015-04-18
        相关资源
        最近更新 更多