こんにちは。ハンドルネーム「Javaを復習する初心者」です。このサイトはプログラミング言語Javaの復習・学習をするブログです。プログラムの開発・実行はEclipseで行ってます。
スポンサーリンク
お知らせ
  • 参考文献のページ作りました。
  • Amazon.co.jpアソシエイトに参加していますが、参考文献の紹介はもしもアフィリエイトに統一しました。
  • 2016年10月9日からは投稿ペースを落とします。週1回くらいにする予定です。
スポンサーリンク

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

こんにちは。「Javaを復習する初心者」です。Swingでウィンドウを表示するプログラムを確認しました。

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の表示・非表示によって動作が変わります。詳細は省略します。