補講 1時間目


9時間目で使ったsetLayout()メソッドについて、詳しく説明します。


アプレット




setLayout()メソッドの説明

まず追加するコンポーネントの配置を決定するのに、setLayout()メソッドを使用します。setLayout()メソッドは、LayoutManagerクラスのオブジェクトを引数にします。レイアウト・マネージャは、追加する複数のコンポーネントの配置を決定し、以下のようなものがあります。(この他にもある。)
FlowLayoutクラスコンポーネントを左から右に並べる。間隔は均等になる。
BorderLayoutクラスコンポーネントを、上、下、左、右、中央の5つの場所に配置する
GridLayoutクラスコンポーネントを格子状に配置する。(N行N列)


FlowLayoutクラスのコンストラクタ
FlowLayout()コンポーネントの配置を、中心に集める。
FlowLayout(int align)コンポーネントの配置をalignで指定した位置に集める。
FlowLayout(int align , int hgap , int vgap)コンポーネントの配置をalignで指定した位置に集め、hgap(水平),vgap(垂直)で各コンポーネントの間隔を指定する。
alignには以下のような種類があります。
FlowLayout.LEFT:左に集める
FlowLayout.CENTER:中心に集める
FlowLayout.RIGHT:右に集める

BorderLayoutクラスのコンストラクタ
BorderLayout()コンポーネントの配置を、上、下、左、右、中央の5つの場所に配置する。
BorderLayout(int hgap , int vgap)コンポーネントの配置を、上、下、左、右、中央の5つの場所に配置する。hgap(水平),vgap(垂直)はコンポーネントの隙間を指定する。
BorderLayoutクラスでコンポーネントを配置するとき、各コンポーネントはadd()メソッドで追加しますが、その時に名前を付けて追加します。その名前によって、配置が決定されます。名前には以下のような種類があります。
North:アプレットの上部に配置します。
South:アプレットの下部に配置します。
West:アプレットの左に配置します。
East:アプレットの右に配置します。
Center:アプレットの中央に配置します。

GridLayoutクラスのコンストラクタ
GridLayout(int rows,int cols)コンポーネントの配置をrows行cols列に配置します。
GridLayout(int rows , int cols , int hgap , int vgap)コンポーネントの配置をrows行cols列に配置します。hgap(水平),vgap(垂直)はコンポーネントの隙間を指定する。

自由レイアウトしたいとき
以下のようにソース・コードを書きます。
setLayout(null);//setLayout()を使わない
   button1=new Button;//オブジェクトの定義
   button1.reshape(x,y,w,h);//(x,y,w,h)=(X座標,Y座標,幅,高さ)の位置と大きさで配置を指定する。
   add(button1);//ボタンの取り付け

2時間目に行く。

補講のページに戻る。

shimizu@eces.numazu-ct.ac.jp