インスタンス化時にカスタム JDialog(Login) を呼び出す JFrame があります。ログインが成功したら、その jFrame を表示したいと思います。ユーザーがそのログイン ダイアログでエスケープ/キャンセルを押すと、アプリケーション全体を閉じる必要があります。
どうすれば...
現在、ダイアログを破棄すると、jFrame が表示されます。
JFrame
変数を介してにアクセスできると仮定すると、次のframe
ように呼び出すことができます。
frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));
System.exit()
ウィンドウを閉じるリスナーをフレームに登録している場合は、クリーンアップコードを実行できるため、aを呼び出すよりもおそらく優れています。
ダイアログを閉じるイベントをオーバーライドできます。
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);
}
});