JAVA講座 9時間目


今度は、setLayout()メソッドを使って、コンポーネントをいろいろに配置してみよう。


アプレット




ソースファイル

import java.applet.Applet;
import java.awt.*;

public class Study9 extends java.applet.Applet {

  Panel p1,p2,p3,p4,p5; 

  public void init() {
    setLayout(new GridLayout(1,5,5,5));
    Panel p1 = new Panel();
    p1.setBackground(Color.red);
    add(p1);
    Panel p2 = new Panel();
    p2.setBackground(Color.pink);
    add(p2);
    Panel p3 = new Panel();
    p3.setBackground(Color.green);
    add(p3);
    Panel p4 = new Panel();
    p4.setBackground(Color.cyan);
    add(p4);
    Panel p5 = new Panel();
    p5.setBackground(Color.blue);
    add(p5);

    p1.setLayout(new FlowLayout());
    p1.add(new Button("1"));
    p1.add(new Button("2"));
    p1.add(new Button("3"));
    p1.add(new Button("4"));
    p1.add(new Button("5"));
    p1.add(new Button("6"));
    p1.add(new Button("7"));
    p1.add(new Button("8"));
    p1.add(new Button("9"));
    p1.add(new Button("A"));
    p1.add(new Button("B"));
    p1.add(new Button("C"));
    p1.add(new Button("D"));
    p1.add(new Button("E"));
    p1.add(new Button("F"));

    p2.setLayout(new BorderLayout(4,4));
    p2.add("North",new Button("North"));
    p2.add("South",new Button("South"));
    p2.add("East",new Button("East"));
    p2.add("West",new Button("West"));
    p2.add("Center",new Button("Center"));

    p3.setLayout(new GridLayout(2,3,3,3));
    p3.add(new Button("A"));
    p3.add(new Button("B"));
    p3.add(new Button("C"));
    p3.add(new Button("D"));
    p3.add(new Button("E"));
    p3.add(new Button("F"));
 
    p4.setLayout(new GridLayout(3,2,5,5));
    p4.add(new Button("first"));
    p4.add(new Button("second"));
    p4.add(new Button("third"));
    p4.add(new Button("fourth"));
    p4.add(new Button("fifth"));
    p4.add(new Button("sixth"));

    p5.setLayout(null);
    Button b1 = new Button("one");
    p5.add(b1);
    b1.reshape(3,3,50,50);
    Button b2 = new Button("two");
    p5.add(b2);
    b2.reshape(82,47,50,50);   
  }

}


ソースファイルの説明 import java.applet.Applet;// import java.awt.*; public class Study9 extends java.applet.Applet { Panel p1,p2,p3,p4,p5;//Panelクラスのオブジェクトの定義。 public void init() { setLayout(new GridLayout(5,1,30,5));//追加するコンポーネントの配置を決定するには、setLayout()メソッドを 使用します。GridLayoutクラスはコンポーネントを格子状に配置します。(*) Panel p1 = new Panel();//Panelクラスのオブジェクトの定義と初期化。 p1.setBackground(Color.blue); add(p1);//パネルを表示させます。 Panel p2 = new Panel(); p2.setBackground(Color.red); add(p2); Panel p3 = new Panel(); p3.setBackground(Color.yellow); add(p3); Panel p4 = new Panel(); p4.setBackground(Color.white); add(p4); Panel p5 = new Panel(); p5.setBackground(Color.black); add(p5); p1.setLayout(new FlowLayout());//FlowLayout()クラスはコンポーネントを左から右に並べて配置します。 各コンポーネントの配置は均等になります。(*) p1.add(new Button("1"));//パネル1に1というラベルのボタンを置きます。 p1.add(new Button("2")); p1.add(new Button("3")); p1.add(new Button("4")); p1.add(new Button("5")); p1.add(new Button("6")); p1.add(new Button("7")); p1.add(new Button("8")); p1.add(new Button("9")); p1.add(new Button("A")); p1.add(new Button("B")); p1.add(new Button("C")); p1.add(new Button("D")); p1.add(new Button("E")); p1.add(new Button("F")); p2.setLayout(new BorderLayout(4,4));//BorderLayout()クラスはコンポーネントを上、下、左、右、中央の 5つの場所に配置します。(*) p2.add("North",new Button("North"));//パネル2の上部にNorthというラベルのボタンを置きます。 p2.add("South",new Button("South")); p2.add("East",new Button("East")); p2.add("West",new Button("West")); p2.add("Center",new Button("Center")); p3.setLayout(new GridLayout(2,3,3,3));//GridLayoutクラスはコンポーネントを格子状に配置します。(*) p3.add(new Button("A"));//パネル3にAというラベルのボタンを置きます。 p3.add(new Button("B")); p3.add(new Button("C")); p3.add(new Button("D")); p3.add(new Button("E")); p4.setLayout(new GridLayout(3,2,5,5));//パネル3と同じ p4.add(new Button("first"));//パネル4にfirstというラベルのボタンを置きます。 p4.add(new Button("second")); p4.add(new Button("third")); p4.add(new Button("fourth")); p4.add(new Button("fifth")); p5.setLayout(null);//自由レイアウトをする(setLayoutを使わない) Button b1 = new Button("one"); b1.reshape(3,3,50,50);//reshape()メソッドは(x,y,w,h)=(X座標,Y座標,幅,高さ)という書式で コンポーネントを配置します。 p5.add(b1);//パネル5にoneというラベルのボタンを置きます。 Button b2 = new Button("two"); b2.reshape(82,47,50,50); p5.add(b2); } } (*)詳しいことは補講のページを見て下さい。
コメント文が書いていないところは既に前の時間で説明してあります。
10時間目に行く。

JAVA講座のページに戻る。

shimizu@eces.numazu-ct.ac.jp