libro
www.tuyano.com
初心者のためのJava SEプログラミング入門

AWTでウィンドウを作る! (6/6)

作成:2010-01-14 13:13
更新:2011-10-11 15:08

■ウィンドウの初期化に付け足しをする

ウィンドウを使ったクラスの定義と呼び出し方の基本がだいたいわかったでしょうか。では、全てFrameからの借り物だとちょっとつまらないので、少しだけオリジナルのウィンドウのためのつけたしをしてみましょう。--Test4クラスの定義をしているメソッドを、下のリストのようにちょっと書き足してみます。

これでコンパイルして実行すると、ウィンドウの大きさはもっと大きくなり、タイトルバーに「Hello」と表示されるようになります。

ここでは、2行新しい命令をつけたしていますね。setTitle()setSize()です。これは、それぞれ以下のような働きをします。
setTitle (《文字列》)
そのクラスのウィンドウタイトルを指定の文字列に変更する。
setSize (《横幅》,《縦幅》)
そのクラスの縦横の大きさを変更する。

さて、ここでまた疑問が生じます。「なんでこの2つのメソッドにはクラス名がないのか?」ということです。普通は、○○.setTitle(××)というように、最初にクラスやインスタンスが入った変数があって、その中のメソッドを呼び出しました。ところが、これらはいきなり「setTitle」と書かれていますね。

その理由は、この2つが、「Test4クラス自身がもつメソッド」だからです。クラス自身がもっているメソッドは、このようにクラス名を書かずに使うことができるのです。

「えっ、いつこんなメソッドを定義したんだ?」と思った人、あなたは忘れっぽいですねえ。ほら、Test4はFrameクラスを継承していたんでしょう? そう、もうわかりましたね。これらは継承しているFrameクラスの方で定義してあったんですね。(あるいは、Frameの更に先のほうかも知れませんが…)

Javaでは、こんな具合に、継承しているクラスをどんどんさかのぼって、そこにあるメソッドを使うことができます。だから、Javaのプログラムリストなどを見ていて「あれ~、こんなメソッド見たことないな?」と思ったら、そのクラスが何を継承しているか、継承しているクラスは更に他のクラスを継承していないか……と、継承構造をどんどんさかのぼって調べていってください。そうすれば、きっとメソッドを探し出すことができるはずですよ。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

public Test4 () {
	super ();
	setTitle("Hello");
	setSize (300,150); 
}
※関連コンテンツ

「初心者のためのJava SEプログラミング入門」に戻る