BorderLayout(ボーダーレイアウト)

ボーダーレイアウトはGUIコンポーネントを東・西・南・北・中央に配置します。
BorderLayoutクラスはjava.awtパッケージに属しています。
配置場所はContainerクラスの第二引数で指定します。

フィールド名
文字列
整列方法
NORTH
North
そのGUIコンポーネントを北側に配置する
CENTER
Center
そのGUIコンポーネントを中央に配置する
SOUTH
South
そのGUIコンポーネントを南側に配置する
EAST
East
そのGUIコンポーネントを東側に配置する
WEST
West
そのGUIコンポーネントを西側に配置する

ではプログラムで確認してみます。

サンプルプログラム(GUISwing16.java)

import javax.swing.*;
import java.awt.*;

public class GUISwing16{
   public static void main(String[] args) {

      //フレーム表示
      JFrame f = new JFrame("ボーダーレイアウト");
	  
	  //コンテンツ区画の取得
	  Container cont =  f.getContentPane();
	  
	  //ボタンを作る
	  JButton jb = new JButton("北");
	  JButton jb1 = new JButton("東");
	  JButton jb2 = new JButton("中央");
	  JButton jb3 = new JButton("西");
	  JButton jb4 = new JButton("南");
	
	  BorderLayout bl = new BorderLayout();
	  cont.setLayout(bl);
	  
	  
	  //ボタンをコンテンツ区画に追加する
	  cont.add(jb,"North");
	 cont.add(jb1,"East");
	 cont.add(jb2,"Center");
	 cont.add(jb3,"West");
	 cont.add(jb4,"South");
	  //フレームのサイズを指定
      f.setSize(400, 200);
	  //フレームの表示・非表示を指定
      f.setVisible(true);
	  //×を押した時の処理
	  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    
   }
}

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。
以下のようなWindowが表示されます。

このような配置になります。
今度は水平間隔、垂直間隔を指定してみます。

サンプルプログラム(GUISwing16_1.java)

import javax.swing.*;
import java.awt.*;

public class GUISwing16_1{
   public static void main(String[] args) {

      //フレーム表示
      JFrame f = new JFrame("ボーダーレイアウト");
	  
	  //コンテンツ区画の取得
	  Container cont =  f.getContentPane();
	  
	  //ボタンを作る
	  JButton jb = new JButton("北");
	  JButton jb1 = new JButton("東");
	  JButton jb2 = new JButton("中央");
	  JButton jb3 = new JButton("西");
	  JButton jb4 = new JButton("南");
	
	  BorderLayout bl = new BorderLayout(10,10);
	  cont.setLayout(bl);
	  
	  
	  //ボタンをコンテンツ区画に追加する
	  cont.add(jb,"North");
	 cont.add(jb1,"East");
	 cont.add(jb2,"Center");
	 cont.add(jb3,"West");
	 cont.add(jb4,"South");
	  //フレームのサイズを指定
      f.setSize(400, 200);
	  //フレームの表示・非表示を指定
      f.setVisible(true);
	  //×を押した時の処理
	  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    
   }
}

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link


BorderLayout bl = new BorderLayout(10,10);
cont.setLayout(bl);

のように指定しています。
またボーダーレイアウトのときに配置の指定をしなければ全てCENTERになり重なり
一番最後に追加されたコンポーネントだけしか見えなくなります。
次のプログラムを見てください。

サンプルプログラム(GUISwing16_2.java)

import javax.swing.*;
import java.awt.*;

public class GUISwing16_2{
   public static void main(String[] args) {

      //フレーム表示
      JFrame f = new JFrame("ボーダーレイアウト");
	  
	  //コンテンツ区画の取得
	  Container cont =  f.getContentPane();
	  
	  //ボタンを作る
	  JButton jb = new JButton("北");
	  JButton jb1 = new JButton("東");
	  JButton jb2 = new JButton("中央");
	  JButton jb3 = new JButton("西");
	  JButton jb4 = new JButton("南");
	
	  BorderLayout bl = new BorderLayout();
	  cont.setLayout(bl);
	  
	  
	  //ボタンをコンテンツ区画に追加する
	  cont.add(jb);
	 cont.add(jb1);
	 cont.add(jb2);
	 cont.add(jb3);
	 cont.add(jb4);
	  //フレームのサイズを指定
      f.setSize(400, 200);
	  //フレームの表示・非表示を指定
      f.setVisible(true);
	  //×を押した時の処理
	  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    
   }
}

プログラムをコピーする場合すべて選択をクリックしてください。

コンパイル・実行してみます。
以下のようなWindowが表示されます。

このようになります。

ページのトップへ戻る