Java Swing JFrameクラスを使ってウィンドウを作成する




Swingプログラムでの「Hello world」のようなプログラムです。
まずは、ウィンドウを作成してみます。
ちなみに、「ウィンドウ」のことをSwingでは「フレーム」と呼びます。

Java Swing ウィンドウを作成するサンプル

何もない空のウィンドウを表示するサンプルです。

実行結果

何もない空のウィンドウが表示されます♪

サンプルの解説

javax.swing.JFrameを継承してウィンドウ(フレーム)を作ります。
ウィンドウは、サイズを指定しないと、小さなウィンドウになるので、640×480を指定しています。
JFrame#setVisible(true)にすると、ウィンドウが表示されます。

忘れてはいけない「EXIT_ON_CLOSE」

JFrame#setDefaultCloseOperation(int)で、画面を閉じる(Xボタン)ときの動作を指定します。
このサンプルでは、「EXIT_ON_CLOSE:画面を閉じたときにアプリケーションを終了する」を指定しています。
これを忘れると、画面を閉じてもアプリケーションが終了せず、タスクマネージャーにお世話になることになります。

画面を閉じるときの挙動を指定しなければいけない理由
今回は、画面だけで処理が完結。かつ、画面数が1つのアプリケーションです。
このような場合、ふつうは画面を終了したら、アプリケーションは終了するのが自然です。
しかし、次のような場合では終了したくないことがあります。

  • 1つのアプリケーションで複数の画面を持ち、子画面だけを終了したとき。
  • メイン画面が終了した後、特定の処理を実行したいとき。

よって、画面を閉じるときにどのような終了の仕方をするか、指定する必要が出てくるのです。

画面終了時に、指定できる挙動は?

JFrame#setDefaultCloseOperation(int)では、次のような挙動を指定できます。

設定できる引数 設定時の挙動 デフォルト
HIDE_ON_CLOSE フレームを隠す(非表示にする)
DO_NOTHING_ON_CLOSE 何もしない
DISPOSE_ON_CLOSE フレームを隠す、かつ、フレームを破棄する
EXIT_ON_CLOSE アプリケーションを終了する