next up previous
Next: 4 画像の入出力 Up: 3 画像処理に関連するクラス Previous: 3.2 色画像の表現

3.3 ContainerのLayout

java.awt.Containerクラスには, LayoutManagerを設定するメソッドとして void setLayout(LayoutManager mgr)があり, BoarderLayout,GridLayout, FlowLayoutなどのLayoutManagerインタフェースを実装した クラスが別途用意されている. 下のようなプログラムで のレイアウトを図1,図2, 図 3に示す. 図1の左は,GridLayout(3,2)のコンストラクタで ComponentOrientation属性がHorizontal, Left-to-Rightである時の配置である.
/*
  <applet code="ButtonGrid.class"
  width=200 height =100>
  </applet>
 */
 import java.awt.*;
 import java.applet.Applet;
 public class ButtonGrid extends Applet {
     public void init() {
         setLayout(new GridLayout(3,2));
         add(new Button("1"));
         add(new Button("2"));
         add(new Button("3"));
         add(new Button("4"));
         add(new Button("5"));
         add(new Button("6"));
     }
 }
図 1:
\includegraphics[width=3.5cm]{/home/inaba/eps/lecture/fig/GridLayout1.eps}
/*
  <applet code="buttonDir.class"
  width=200 height =100>
  </applet>
 */
 import java.awt.*;
 import java.applet.Applet;

 public class buttonDir extends Applet {
   public void init() {
     setLayout(new BorderLayout());
     add(new Button("North"), BorderLayout.NORTH);
     add(new Button("South"), BorderLayout.SOUTH);
     add(new Button("East"), BorderLayout.EAST);
     add(new Button("West"), BorderLayout.WEST);
     add(new Button("Center"), BorderLayout.CENTER);
   }
 }
図 2: BorderLayout
\includegraphics[width=5cm]{/home/inaba/eps/lecture/fig/BorderLayout.eps}
/*
  <applet code="myButtons.class"
  width=100 height =100>
  </applet>
 */
import java.awt.*;
import java.applet.Applet;

public class myButtons extends Applet {
  Button button1, button2, button3;
  public void init() {
    setLayout(new FlowLayout());
    button1 = new Button("Ok");
    button2 = new Button("Open");
    button3 = new Button("Close");
    add(button1);
    add(button2);
    add(button3);
  }
}
図 3: FlowLayout
\includegraphics[width=5cm]{/home/inaba/eps/lecture/fig/FlowLayout.eps}


generated through LaTeX2HTML. M.Inaba 平成18年5月7日