4

インスタンス化時にカスタム JDialog(Login) を呼び出す JFrame があります。ログインが成功したら、その jFrame を表示したいと思います。ユーザーがそのログイン ダイアログでエスケープ/キャンセルを押すと、アプリケーション全体を閉じる必要があります。

どうすれば...

現在、ダイアログを破棄すると、jFrame が表示されます。

4

2 に答える 2

5

JFrame変数を介してにアクセスできると仮定すると、次のframeように呼び出すことができます。

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

System.exit()ウィンドウを閉じるリスナーをフレームに登録している場合は、クリーンアップコードを実行できるため、aを呼び出すよりもおそらく優れています。

于 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 に答える