java-beginner.com ブログ

プログラミングを学習するブログ(Javaをメインに)

Swingでウィンドウを表示する

投稿日:

最終更新日:2016年10月24日

アイキャッチ

こんにちは。

JavaにはSwingと呼ばれるGUIライブラリが用意されています。今回はウィンドウを表示するプログラムを確認しました。

横250縦150のウィンドウを表示

以下がウィンドウを表示するサンプルです。250×150のウィンドウが表示されます。

ソース

import javax.swing.JFrame;

public class Test extends JFrame {

    public static void main(String[] args) {
        new Test();
    }

    public Test() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(250, 150);
        setVisible(true);
    }

}

上記サンプルプログラムのTestクラスはJFrameクラスを継承しています。

JFrameは以下のようにクラスを継承しています。

java.lang.Object
└java.awt.Component
 └java.awt.Container
  └java.awt.Window
   └java.awt.Frame
    └javax.swing.JFrame

mainメソッドに自身のインスタンスを生成しています。

コンストラクタで最低限の記述をしています。

「setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);」はウィンドウの閉じるボタンを押したときに「アプリケーションを終了する」という動作をするための設定です。この記述がない場合、デフォルトではHIDE_ON_CLOSEが設定されます。その場合、ウィンドウの×ボタンを押すと「フレームを隠す」という動作になります。なので、プログラムは動いたままになります。

setSizeメソッドはjava.awt.Windowから継承されたメソッドです。引数は順番に「横の幅」、「縦の幅」です。ここで、幅はピクセル単位です。サンプルでは横250、縦150を指定しています。

setVisibleは java.awt.Windowから継承されたメソッドです。引数はboolean型で、trueの場合はWindowを表示します。

タイトルを設定するには

サンプルを動かすとタイトルバーはありますが、タイトルが未設定です。setTitleメソッドでタイトルを設定することができます。このメソッドはjava.awt.Frameから継承されたメソッドです。引数は文字列です。「setTitle(“タイトル”);」という記述をします。

swing_day001_001_settitle

サイズ変更を不可にするには

サンプルではマウス操作でウィンドウサイズを変更することができます。この操作を不可にするためにはsetResizableメソッドを使います。このメソッドはjava.awt.Frameから継承されたメソッドです。引数はboolean型です。falseを指定するとサイズの変更が不可になります。

画面中央に表示させるには

サンプルではウィンドウが表示される箇所がデスクトップ左上です。setLocationRelativeToメソッドを使うと表示される位置をデスクトップの中央にすることができます。このメソッドはjava.awt.Windowから継承されたメソッドです。引数はComponent型です。引数にnullを指定すると、ウィンドウは画面の中央に配置されます。null以外の場合の動作は引数に指定したComponentの表示・非表示によって動作が変わります。詳細は省略します。