HOME>GUIアプリケーション講座>中間コンテナ>複雑なレイアウトの配置

複雑なレイアウトの配置

中間コンテナは一つのトップレベルコンテナ上に複数追加することができます。
つまりJFrame上にJPanelを二つ配置することができるのです。
つまり一つ目のJPanelにはフローレイアウトで配置し二つ目にはボーダーレイアウトで配置することができます。
このように中間コンテナの組み合わせによって複雑なレイアウトができるようになります。
ではプログラムを確認したいと思います。

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

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

class GUI24 extends JPanel{

    JButton jb1,jb2,jb3,jb4,jb5;

    GUI24(){
    //ボタンの作成
    jb1 = new JButton("jb1");
    jb2 = new JButton("jb2");
    jb3 = new JButton("jb3");
    jb4 = new JButton("jb4");
    jb5 = new JButton("jb4");
    

    //レイアウトの指定
    setLayout(new BorderLayout());
    //JPanelの配置

    add(jb1,BorderLayout.NORTH);
    add(jb2,BorderLayout.CENTER);
    add(jb3,BorderLayout.SOUTH);
    add(jb4,BorderLayout.EAST);
    add(jb5,BorderLayout.WEST);

 }
}
class GUI24_1 extends JPanel{

    JButton J1,J2,J3,J4;

    GUI24_1(){
    //ボタンの作成
    J1 = new JButton("J1");
    J2 = new JButton("J2");
    J3 = new JButton("J3");
    J4 = new JButton("J4");

    //レイアウトの指定

    setLayout(new FlowLayout());
    add(J1);
    add(J2);
    add(J3);
    add(J4);
     }
}
public class GUISwing24{
    public static void main(String args[]){

    GUI24 jb_app = new GUI24();
	GUI24_1 jb_app1 = new GUI24_1();
    
     JFrame jf = new JFrame("JButton");
     
     Container c = jf.getContentPane();
	 
     c.add(jb_app,BorderLayout.NORTH);
	 c.add(jb_app1,BorderLayout.CENTER);
    
 jf.setSize(300, 200);

     jf.setVisible(true);
 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}
	

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

Sponsored link

コンパイル・実行すると以下のようになります。

このようにフローレイアウトとボーダーレイアウトで配置できました。

ページのトップへ戻る