Javaでウィンドウを閉じる方法

ページ名:Javaでウィンドウを閉じる方法

この記事では、Javaでウィンドウを閉じる方法を紹介します。ウィンドウを閉じるのはSwingのJFrameを使う方がずっと簡単ですが、AWTのFrameを使っても可能です。

方法1

javax.swing.JFrameを使う

  1. JFrameのインスタンスを取得するか、新しいインスタンスを作成します。
  2. デフォルトのクローズ操作を設定する。デフォルトのクローズ操作は、JFrameクラス内のsetDefaultCloseOperationメソッドを使って設定します。このメソッドは、クローズボタンがクリックされたときの動作を決定し、次のパラメータを受け取ります:
    • WindowConstants.EXIT_ON_CLOSE - フレームを閉じ、プログラムの実行を終了します。
    • WindowConstants.DISPOSE_ON_CLOSE - フレームを閉じ、必ずしもプログラムの実行を終了しません。
    • WindowConstants.HIDE_ON_CLOSE - visibilityプロパティをfalseに設定することでフレームを閉じたように見せます。HIDE_ON_CLOSEとDISPOSE_ON_CLOSEの違いは、後者がフレームとそのコンポーネントによって使用されるすべてのリソースを解放することです。
    • WindowConstants.DO_NOTHING_ON_CLOSE - 閉じるボタンが押されたときに何もしません。例えば、ウィンドウを閉じる前に確認ダイアログを表示したい場合に便利です。フレームにWindowListenerを追加し、windowClosingメソッドをオーバーライドすることで実現できます。カスタムクローズ操作の例
        frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // プログラムを終了する前に確認を求めます。showConfirmDialog( frame, "Are you sure you want to close the application?", "Close Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (option == JOptionPane.YES_OPTION) { System.exit(0); } });
方法2

java.awt.Frameを使う

  1. Frameのインスタンスを取得するか、新規作成します。
  2. ウィンドウ・リスナーを追加する。インスタンスのaddWindowListenerメソッドを呼び出す。必須引数はWindowListener。WindowListenerインターフェイスのすべてのメソッドを実装するか、WindowAdapterクラスから必要なメソッドだけをオーバーライドします。
  3. ウィンドウを閉じるイベントを処理します。WindowListenerインターフェイスからwindowClosingメソッドを実装するか、WindowAdapterクラスからオーバーライドします。ウィンドウを閉じる方法は2通りあります:
    • 閉じるボタンがクリックされた後、ウィンドウを破棄する:
      • windowClosingメソッド内でdisposeメソッドを呼び出す。
      • frame.addWindowListener(新しいWindowAdapter() { @Override public void windowClosing(WindowEvent e) { // 閉じるボタンがクリックされた後、ウィンドウを破棄します;
    • 閉じるボタンがクリックされたら、プログラムを終了します:
      • windowClosingメソッド内でSystem.exitメソッドを呼び出します。
      • frame.addWindowListener(新しいWindowAdapter() { @Override public void windowClosing(WindowEvent e) { // 閉じるボタンがクリックされたら、プログラムを終了する。 System.exit(0); } });
この記事は、CC BY-NC-SAで公開されている「 How to Close a Window in Java 」を改変して作成しました。特に断りのない限り、CC BY-NC-SAで利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧