TOP →
Java →
Swing →
LayoutManager → This Page
BoxLayout@Swing LayoutManagerサンプル
概要
Java -
Swing -
LayoutManager -
BoxLayout のサンプルです。
BoxLayout はコンポーネントを横方向または縦方向に並べてセットする場合に使います。
コンストラクタ
コンストラクタ | 説明 | 引数 | 引数説明 |
BoxLayout(Container target, int axis) |
BoxLayout を作成 |
target |
配置するコンテナ
設定値(定数) | 内容 |
BoxLayout.X_AXIS |
横方向 |
BoxLayout.Y_AXIS |
縦方向 |
|
axis |
方向 |
解説
サンプルを実行すると以下の図のようになります。
コンポーネントのサイズは以下のルールで決まります。
・コンポーネントに最大サイズ指定がない→テキストの長さなどで自動で決まる
・コンポーネントに最大サイズ指定がある→指定された最大サイズ
サンプルソース
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* LayoutManager サンプル02-01
* ・BoxLayout
* ・X_AXIS(横)
* ・サイズを設定
*
* @author みっちー
*/
public class LayoutManager0201 extends JFrame {
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args){
LayoutManager0201 frame = new LayoutManager0201();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("LayoutManager サンプル02-01[BoxLayout][X_AXIS]");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 500, 100);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public LayoutManager0201() {
// ベースとなるパネルを[BoxLayout][X_AXIS(横)]として作成
JPanel panelBase = new JPanel();
panelBase.setLayout(new BoxLayout(panelBase, BoxLayout.X_AXIS));
// ボタンを作成
JButton button1 = new JButton("AAAAA");
JButton button2 = new JButton("BBBBBBBB");
JButton button3 = new JButton("C");
JButton button4 = new JButton("DDD");
// サイズを設定
button4.setMaximumSize(new Dimension(150, 26));
// パネルにボタンを配置
panelBase.add(button1);
panelBase.add(button2);
panelBase.add(button3);
panelBase.add(button4);
// ベースパネルを追加
getContentPane().add(panelBase, BorderLayout.CENTER);
}
}
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* LayoutManager サンプル02-02
* ・BoxLayout
* ・Y_AXIS(縦)
* ・サイズを設定
*
* @author みっちー
*/
public class LayoutManager0202 extends JFrame {
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args){
LayoutManager0202 frame = new LayoutManager0202();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("LayoutManager サンプル02-02[BoxLayout][Y_AXIS]");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 500, 200);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public LayoutManager0202() {
// ベースとなるパネルを[BoxLayout][Y_AXIS(縦)]として作成
JPanel panelBase = new JPanel();
panelBase.setLayout(new BoxLayout(panelBase, BoxLayout.Y_AXIS));
// ボタンを作成
JButton button1 = new JButton("AAAAA");
JButton button2 = new JButton("BBBBBBBB");
JButton button3 = new JButton("CCC");
JButton button4 = new JButton("DDDDD");
JButton button5 = new JButton("EEE");
// サイズを設定
button4.setMaximumSize(new Dimension(150, 50));
// パネルにボタンを配置
panelBase.add(button1);
panelBase.add(button2);
panelBase.add(button3);
panelBase.add(button4);
panelBase.add(button5);
// ベースパネルを追加
getContentPane().add(panelBase, BorderLayout.CENTER);
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 Windows 8.1 + Java 7 環境で全体を見直し
2007/12/07 新規作成
TOP →
Java →
Swing →
LayoutManager → This Page