我正在使用JOptionPane确认对话框输入密码,它有OK和Cancel按钮,当我使用while循环检测输入了正确的密码时,当用户按下Cancel或“X”时,我触发假动作事件到使用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();
}