初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
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が表示されます。
このようになります。