【Java】ウィンドウの表示

2018年3月11日

本稿は、Javaでウィンドウを表示するクラスであるJFrameの機能をいくつか紹介します。

JFrameは、javax.swingパッケージに含まれるGUI用のクラスです。awtのほうにもウィンドウ操作をできるクラスがあるのですが、JFrameのほうがより便利なメソッドを利用できるため、JFrameだけ覚えれば問題ないでしょう。

ウィンドウの表示

ウィンドウの作成はJFrameを継承して実装しましょう。

継承しなくても利用できるのですが、継承しておいたほうが、後で機能を追加したいときに便利です。

import javax.swing.JFrame;

class Test{
	public static void main(String[] args) {
		new TestWindow("テストウィンドウ",400,300);
	}
}

class TestWindow extends JFrame{
	public TestWindow(String title, int width, int height) {
		super(title);
		setDefaultCloseOperation(EXIT_ON_CLOSE);//閉じるボタンの処理
		setSize(width,height);//ウィンドウサイズ
		setLocationRelativeTo(null);//画面中央に配置
		setResizable(false);//リサイズ禁止
		setVisible(true);//ウィンドウ表示
	}
}
実行結果

ここではコンストラクタにタイトルと横幅、縦幅を指定した簡易ウィンドウ表示クラスを作成しました。

さて、ソースの内容を少しずつ見ていきましょう。


super(title);

ここでウィンドウのタイトルを指定しています。タイトルはsetTitleメソッドで後からでも変更可能です。


setDefaultCloseOperation(EXIT_ON_CLOSE);

ここでウィンドウの閉じるボタンが押された時の挙動を変更できます。

今回はウィンドウを閉じたらプログラムが終了するようにしました。

基本的にはこの設定で問題ないでしょう。


setSize(width,height);

setSizeメソッドでウィンドウの横幅、縦幅を変更できます。


setLocationRelativeTo(null);

ウィンドウの表示位置を指定した引数のコンポーネントの中央に配置します。

nullを指定した場合は、モニターの中央に表示されます。

注意点ですが必ずsetSizeの後に呼び出しましょう。

でないと表示座標がずれてしまいます。


setResizable(false);

ウィンドウのリサイズを禁止しています。

私がゲームを作るときは必ずfalseにしています。


setVisible(true);

ここでウィンドウの表示をしています。

Javaでウィンドウの表示は超簡単にできてしまうのですね。

これがC言語だったらもうね・・・


今回は使用しませんでしたが、setIconImageメソッドでウィンドウ左上に表示するアイコンを変更できます。

ゲームで利用するとすればこのあたりのメソッドを覚えていれば、大丈夫でしょう。

その他の重要メソッドは別の稿で説明していきます。

Java

Posted by nompor