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

GUIを作成する (4/4)

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

■レイアウトマネージャとは?

これは、「レイアウトマネージャ」というものを取り外してレイアウトをしたサンプルなのです。

AWTのウィンドウ類には、「レイアウトマネージャ」というものが設定されています。これは文字通り「レイアウトをマネージするもの」なのです。要するに、配置した部品の位置や大きさなどを自動調整する機能ですね。これのおかげで、先の例ではボタンなどが一番下に細長く組み込まれていたのです。

レイアウトマネージャには様々な種類があり、Frameに設定されているのは「ボーダーレイアウト」というものです。これは全体を上下左右中央の5ケ所に分けて組み込むというものです。そして、今回の例では、ボーダーレイアウトを「なし」にしたのです。――では、コードを見てみましょう。
setLayout(null);
タイトルバーやウィンドウサイズの設定の次に、こんなものがありますね。これがレイアウトマネージャを取り外している部分です。レイアウトマネージャは「setLayout」というもので設定します。設定するのは、レイアウトマネージャクラスのインスタンスになります。

「レイアウトマネージャクラスって具体的にどういうものなんだ?」と思うでしょうが…まあ、これはやり出すとけっこう大変なので、ここでは「nullというものを設定すると、レイアウトマネージャはからっぽになる」ということだけ覚えておきましょう。「null」っていうのは、「インスタンスが何も設定されてない状態」を示すものです。

これでレイアウトマネージャはなくなりましたが、すると次の問題が生じます。レイアウトマネージャがないのだから、位置や大きさは自分で設定してやらないといけないのです。それを行なっているのが次の部分です。
mylabel.setBounds(50,50,200,30);
setBoundsというのが位置と大きさを設定しているものです。これは4つのパラメータを持っていて、部品の横と縦の位置、そして横幅と縦幅の4つの値になります。mybuttonでも同様に位置と大きさを設定していますね。レイアウトマネージャをnullにしたときには、これを忘れないようにしてください。

このsetBoundsは位置と大きさをまとめて設定してましたが、もちろん位置と大きさを別々に設定することもできます。位置は「setLocation」というもので、これは2つのパラメータで横・縦の位置を指定します。大きさは、既に登場していますね。ウィンドウの大きさを設定するのにも使った「setSize」です。
mybutton.setLocation(100,100);
mybutton.setSize(100,25);
例えば、mybutton.setBounds(100,100,100,25);を、位置と大きさ別々に設定するなら、上のようになります。――これで、とりあえず部品の作成と配置の基本は頭に入りましたね? では、次は「ボタンをクリックして何かをさせる」ということに進みましょう。

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

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

※関連コンテンツ

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