初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
中間コンテナ(JPanel)
ここでは中間コンテナについて見ていきます。
中間コンテナの代表的なものにJPanelがあります。
中間コンテナはFrameなどのトップコンテナの上にさらに貼り付けて利用します。
中間コンテナを利用することでさらに複雑なレイアウトを作成できるのです。
まずは簡単にプログラムを作成したいと思います。
サンプルプログラム(GUISwing22.java)
import java.awt.*; import javax.swing.*; class GUI22 extends JPanel{ JButton jb1; GUI22(){ //ボタンの作成 jb1 = new JButton("Hello"); //レイアウトの指定 setLayout(new BorderLayout()); //JPanelの配置 add(jb1,BorderLayout.CENTER); } } public class GUISwing22{ public static void main(String args[]){ GUI22 jb_app = new GUI22(); JFrame jf = new JFrame("JButton"); Container c = jf.getContentPane(); c.add(jb_app,BorderLayout.CENTER); jf.setSize(200, 200); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行すると以下のようになります。
一見みるとわかりにくいですがプログラムの確認をします。
まず今回はSwingパッケージに属するJPanelを継承しています。
つまりJPanelを継承しているGUI22クラス内で今回使用したコンポーネントの追加とレイアウトなどの処理を行っています。
もちろん今回使用したコンポーネントはボタンです。
次にGUISwing22クラス内ではGUI22クラスのオブジェクトを作成して呼び出しています。
トップレベルコンテナであるJFrameクラスでフレームを作成し、JFrame上にJPanelを追加しています。
今回は
c.add(jb_app,BorderLayout.CENTER);
となっています。
つまり
JFrame上にJPanelをレイアウト指定のボーダレイアウトの中央に配置しています。
ではもう一つプログラムを確認したいと思います。
サンプルプログラム(GUISwing22_1.java)
import java.awt.*; import javax.swing.*; class GUI22_1 extends JPanel{ JButton jb1; GUI22_1(){ //ボタンの作成 jb1 = new JButton("Hello"); //レイアウトの指定 setLayout(new BorderLayout()); //JPanelに配置 add(jb1,BorderLayout.CENTER); } } public class GUISwing22_1{ public static void main(String args[]){ GUI22_1 jb_app = new GUI22_1(); JFrame jf = new JFrame("JButton"); Container c = jf.getContentPane(); c.add(jb_app,BorderLayout.NORTH); jf.setSize(200, 200); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行してみます。
このようになります。
今回はc.add(jb_app,BorderLayout.NORTH);で
JPanelをNORTHに配置しています。