4

我有一个 JFrame,它在实例化时调用自定义 JDialog(Login)。如果登录成功,我希望该 jFrame 可见。如果用户在该登录对话框上按下退出/取消,则应该关闭整个应用程序。

我怎么能这样...

目前,如果我处理对话框,jFrame 会变得可见。

4

2 回答 2

5

JFrame假设您可以通过frame变量访问您的,您可以简单地调用:

frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));

它可能比调用 a 更好,System.exit()因为如果您已向框架注册了窗口关闭侦听器,它将使您能够运行一些清理代码。

于 2012-06-19T09:22:24.867 回答
3

您可以覆盖对话框关闭事件:

dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

dialog.addWindowListener(new WindowAdapter() {

  public void windowClosing(WindowEvent we) {  
    //Release you source, close all your frames or call a brutal System.exit(0);
  }
});
于 2012-06-19T09:25:55.100 回答