BoxLayoutクラスの定義とコンストラクタ
広告
BoxLayoutクラスの定義を確認します。クラス図は次のようになっています。
java.lang.Object javax.swing.BoxLayout public class BoxLayout extends Object implements LayoutManager2, Serializable
BoxLayoutクラスのコンストラクタ
BoxLayoutクラスをを利用するにはコンストラクタを使ってBoxLayoutクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。
| コンストラクタ |
|---|
| BoxLayout(Container target, int axis) コンポーネントを指定された方向に配置するレイアウトマネージャーを生成します。 |
コンストラクタは1つ用意されています。ではコンストラクタを確認してみます。
public BoxLayout(Container target, int axis)
コンポーネントを指定された方向に配置するレイアウトマネージャーを生成し
ます。
パラメータ:
target - 配置する必要があるコンテナ
axis - 配置する必要があるコンテナコンポーネントの配置方向。
BoxLayout.X_AXIS、 BoxLayout.Y_AXIS。 BoxLayout.LINE_AXIS または
BoxLayout.PAGE_AXIS
例外:
AWTError - axis の値が無効な場合
1番目の引数にはレイアウトマネージャーを設定するコンテナのオブジェクトを指定します。そして2番目にはコンポーネントをどの方向に配置していくのかを指定します。2番目の引数については次のページで詳しく見ていきます。
実際の使い方は次のようになります。
JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.LINE_AXIS));
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*;
import java.awt.Font;
import java.awt.BorderLayout;
public class BoxLayoutTest1 extends JFrame{
public static void main(String[] args){
BoxLayoutTest1 frame = new BoxLayoutTest1();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
BoxLayoutTest1(){
JButton button1 = new JButton("Google");
JButton button2 = new JButton("Yahoo!");
button2.setFont(new Font("Arial", Font.PLAIN, 30));
JButton button3 = new JButton("MSN");
JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.PAGE_AXIS));
p.add(button1);
p.add(button2);
p.add(button3);
getContentPane().add(p, BorderLayout.CENTER);
}
}
上記をコンパイルした後で実行すると次のように表示されます。
今回は縦方向にコンポーネントを配置するように設定してあります。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。