Javaでウィンドウの表示

ウィンドウを表示させたい

生徒
生徒

教授?
今日は、Javaでウィンドウを表示させたいのですが。

教授
教授

なるほど。
では、次のようになりますよ?

import javax.swing.JFrame;
 
class NovelMain{
	public static void main(String[] args) {
		new NovelWindow("あっと寝てく?",400,300);
	}
}
 
class NovelWindow extends JFrame{
	public NovelWindow(String title, int width, int height) {
		super(title);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setSize(width,height);
		setLocationRelativeTo(null);
		setResizable(true);
		setVisible(true);
	}
}

プログラムの結果は?

生徒
生徒

へぇー。
それで、コレを実行するとどうなるのですか?

教授
教授

実行してみますね。

ウィンドウを表示しています

ちょこっと解説

生徒
生徒

どういう仕組みですか?

教授
教授

まず、二つのクラスがあります。
class NovelMainとclass NovelWindow です。
NovelMainクラスには、メインメソッドがあるのは分かりますね?

生徒
生徒

ええ、いつも通りのアレですね。
public static void main(String[] args) {}
というところですよね。

教授
教授

そうです、引数の関係はこんな感じです。
new NovelWindow(“あっと寝てく?”,400,300)
public NovelWindow(String title, int width, int height)
タイトル・幅・高さの順に並んでいるのが分かりますね?

生徒
生徒

メインクラスでインスタンス化しているところで、「あっと寝てく?」というタイトル、「400」という幅、「300」という高さを順に指定しているのですね。
同じ順番で指定しているようですね。

教授
教授

同じ順番というのは、大事なところです。
さて、他のところは次のような感じです。
setDefaultCloseOperation(EXIT_ON_CLOSE); ⇒閉じるボタンを押したときウィンドウを閉じる
setSize(width,height); ⇒ウィンドウサイズの指定
setLocationRelativeTo(null); ⇒ウィンドウを画面中央に表示
setResizable(true); ⇒ウィンドウサイズの変更「可」(不可の場合は、false)
setVisible(true); ⇒ウィンドウを表示「する」

ウィンドウは表示できたけれど

生徒
生徒

なるほど!
それで、このウィンドウはどのように使うのですか?

教授
教授

開いたら閉じるだけです。
開いて、閉じて……。
むすんでひらいて、などをして遊びます?

生徒
生徒

うーん。
絶妙に役立たずですね。

教授
教授

そんなことを言ってはいけません。
全てはウィンドウを表示させるところから始まるのでは?
何もないウィンドウですが、ここからなんでもできるという意味かもしれませんよ?
君の未来が白紙であるように。

生徒
生徒

とりあえずの卒業式的な台詞ですね。

タイトルとURLをコピーしました