Это может показаться тривиальным, но я не могу понять, как задать поле пароля в этом диалоговом окне.
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
public class PasswordBox {
@SuppressWarnings("unused")
public String prompt() {
JPasswordField pass = new JPasswordField(10);
int action = JOptionPane.showConfirmDialog(null, pass,"Enter Password",JOptionPane.OK_CANCEL_OPTION);
return new String(pass.getPassword());
}
}
Я вызываю его из других классов, например: String tmpPASS = new PasswordBox (). prompt ();
По какой-то причине, когда появляется диалоговое окно, кнопка «ОК» получает фокус.
stacktrace (см. ответ Eng.Fouad):
at javax.swing.JComponent.addNotify(Unknown Source)
at PasswordBox$1.addNotify(PasswordBox.java:14)
at java.awt.Container.addNotify(Unknown Source)