初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
自由にレイアウトを配置する
GUIコンポーネントの配置の方法にレイアウトマネージャを使います。
しかしどのレイアウトとマネージャーを使っても自分の想像していたレイアウトに
ならない場合があります。
そのときは自分でレイアウトを好きな位置に配置させます。
ここではその配置方法について見ていきます。
ではプログラムを見ていきます。
サンプルプログラム(GUISwing19.java)
import javax.swing.*; import java.awt.*; public class GUISwing19{ public static void main(String[] args) { //フレーム表示 JFrame f = new JFrame("自由に配置する"); //コンテンツ区画の取得 Container cont = f.getContentPane(); //ボタンを作る JButton jb = new JButton("A"); JButton jb1 = new JButton("B"); JButton jb2 = new JButton("C"); //レイアウトマネージャーを使わない cont.setLayout(null); //ボタンをコンテンツ区画に追加する cont.add(jb); cont.add(jb1); cont.add(jb2); jb.setBounds(0,0,50,20); jb1.setBounds(100,50,50,20); jb2.setBounds(200,100,50,20); //フレームのサイズを指定 f.setSize(400, 200); //フレームの表示・非表示を指定 f.setVisible(true); //×を押した時の処理 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行してみます。
以下のようなWindowが表示されます。
このように好きな位置に配置できました。
プログラムの解説をいたします。
レイアウトマネージャーを使わない場合はsetLayout()メソッドの引数にnullを指定します。
またsetBounds()メソッドにGUIコンポーネントの座標とサイズの指定をします。
つまり
setBounds(左上X座標,Y座標,幅,高さ)
また、自由に配置した場合はWindowサイズを変更してもコンポーネントの
レイアウトは変わることはありません。
ためしに小さくしてみます。 になります。 このように小さくしてもレイアウトの配置は変わりません。