0

我正在使用 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();
}
4

0 回答 0