Swingプログラムでの「Hello world」のようなプログラムです。
まずは、ウィンドウを作成してみます。
ちなみに、「ウィンドウ」のことをSwingでは「フレーム」と呼びます。
Java Swing ウィンドウを作成するサンプル
何もない空のウィンドウを表示するサンプルです。
1 2 3 4 5 6 7 8 9 10 | import javax.swing.JFrame; public class TestFrame extends JFrame { public static void main(String[] args) { TestFrame frame = new TestFrame(); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.setSize(640, 480); frame.setVisible(true); } } |
実行結果
何もない空のウィンドウが表示されます♪
サンプルの解説
javax.swing.JFrameを継承してウィンドウ(フレーム)を作ります。
ウィンドウは、サイズを指定しないと、小さなウィンドウになるので、640×480を指定しています。
JFrame#setVisible(true)にすると、ウィンドウが表示されます。
忘れてはいけない「EXIT_ON_CLOSE」
JFrame#setDefaultCloseOperation(int)で、画面を閉じる(Xボタン)ときの動作を指定します。
このサンプルでは、「EXIT_ON_CLOSE:画面を閉じたときにアプリケーションを終了する」を指定しています。
これを忘れると、画面を閉じてもアプリケーションが終了せず、タスクマネージャーにお世話になることになります。
画面を閉じるときの挙動を指定しなければいけない理由
今回は、画面だけで処理が完結。かつ、画面数が1つのアプリケーションです。
このような場合、ふつうは画面を終了したら、アプリケーションは終了するのが自然です。
しかし、次のような場合では終了したくないことがあります。
今回は、画面だけで処理が完結。かつ、画面数が1つのアプリケーションです。
このような場合、ふつうは画面を終了したら、アプリケーションは終了するのが自然です。
しかし、次のような場合では終了したくないことがあります。
- 1つのアプリケーションで複数の画面を持ち、子画面だけを終了したとき。
- メイン画面が終了した後、特定の処理を実行したいとき。
よって、画面を閉じるときにどのような終了の仕方をするか、指定する必要が出てくるのです。
画面終了時に、指定できる挙動は?
JFrame#setDefaultCloseOperation(int)では、次のような挙動を指定できます。
設定できる引数 | 設定時の挙動 | デフォルト |
---|---|---|
HIDE_ON_CLOSE | フレームを隠す(非表示にする) | 〇 |
DO_NOTHING_ON_CLOSE | 何もしない | |
DISPOSE_ON_CLOSE | フレームを隠す、かつ、フレームを破棄する | |
EXIT_ON_CLOSE | アプリケーションを終了する |