1

我有一个ConfirmDialog弹出,要求用户输入他们的密码。我插入了一个JPasswordField来隐藏密码。这一切都很好。

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

焦点问题示例

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

这是我到目前为止的代码:

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

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

谢谢。

4

2 回答 2

1

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

签出RequestFocusListener对话框焦点中找到

于 2013-08-08T17:38:54.147 回答
0

我会实现我自己的JDialoginstatn 使用JOptionsPane

或者你可以尝试这样的事情:

JPasswordField pass = new JPasswordField()         
{
    public void addNotify()             
    {                 
        super.addNotify();
        requestFocusInWindow();             
    }         
}; 
于 2013-08-08T15:58:02.730 回答