自由にレイアウトを配置する

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サイズを変更してもコンポーネントの
レイアウトは変わることはありません。
ためしに小さくしてみます。 になります。

このように小さくしてもレイアウトの配置は変わりません。

ページのトップへ戻る