我正在使用 JOptionPane 确认对话框来输入密码,它有 OK 和 Cancel 按钮,当我使用 while 循环来检测何时输入了正确的密码时,当用户按下 Cancel 或“X”时,我会触发假 actionEvent 来处理窗口使用this.dispose(); 但是由于某些奇怪的原因,它不起作用并且无论如何都会打开窗口。
这是代码:
while(identifier<1) {
if(action == 0) {
if(Arrays.equals(password.getPassword(),pass)) {
break;
} else {
actionPerformed(new ActionEvent(2,-1,""));
break;
}
} else {
actionPerformed(new ActionEvent(2,-1,"");
break;
}
}
这是 actionPerformed 方法中应该关闭窗口的部分:
if(e.getSource()==2) {
this.dispose();
}