初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
複雑なレイアウトの配置
中間コンテナは一つのトップレベルコンテナ上に複数追加することができます。
つまり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
コンパイル・実行すると以下のようになります。
このようにフローレイアウトとボーダーレイアウトで配置できました。