1. ホーム

[解決済み】JFrameをプログラムで閉じる方法

2022-04-03 18:31:21

質問

を取得する正しい方法は何ですか? JFrame をクリックしたのと同じように閉じます。 X 閉じるボタン、または オルト + F4 (Windowsの場合)?

デフォルトの閉じる操作を思い通りに設定していますvia

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

前述したコントロールで思い通りになります。 この質問はそれについてではありません。

私が本当にしたいことは、GUIが、(1)のボタンを押したときと同じように動作するようにすることです。 X 閉じるボタンが動作するようになります。

を拡張したとします。 WindowAdaptor のインスタンスをリスナーとして追加します。 addWindowListener() . を介した同じ一連の呼び出しを確認したいと思います。 windowDeactivated() , windowClosing() および windowClosed() で発生するような X 閉じるボタンです。 ウィンドウを破るというより、いわばウィンドウ自体を破れということです。

解決するには?

をクリックしたかのようにGUIを動作させたい場合。 X クローズボタンにウィンドウクローズ イベントをディスパッチする必要があります。 Window . その ExitAction から アプリケーションを終了する を使用するメニュー項目やコンポーネントにこの機能を追加することができます。 Action を簡単に作成することができます。

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