フレームで使用するレイアウトマネージャーを設定する

フレームで使用されるデフォルトのレイアウトマネージャーは BorderLayout ですが他のレイアウトマネージャーを設定することもできます。ここではフレームで使用するレイアウトマネージャーを設定する方法について解説します。

(Last modified: )

レイアウトマネージャーを設定する

フレームでレイアウトマネージャーを設定するには、 JFrame クラスで定義されている setLayout メソッドを使うことで自動的に ContentPane に設定されます。

public void setLayout(LayoutManager manager)

LayoutManagerを設定します。オーバーライドすると、呼出しが条件付きでcontentPaneに転送されます。詳細は、RootPaneContainerを参照してください。

パラメータ:
manager - LayoutManager

使い方は次のようになります。

import javax.swing.JFrame;
import java.awt.FlowLayout;

class Sample extends JFrame{
  public static void main(String args[]){
  }

  Sample(String title){
    setLayout(new FlowLayout());
  }
}
サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 Sample.java という名前で保存します。

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.FlowLayout;

class Sample extends JFrame{
  public static void main(String args[]){
    Sample frame = new Sample("MyTitle");
    frame.setVisible(true);
  }

  Sample(String title){
    setTitle(title);
    setBounds(100, 100, 728, 400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setLayout(new FlowLayout());

    JButton btn1 = new JButton("Open");
    JButton btn2 = new JButton("Close");
    add(btn1);
    add(btn2);
  }
}

次のようにコンパイルを行います。

javac Sample.java

コンパイルが終わりましたら実行します。

java Sample

フレームのレイアウトマネージャーとして FlowLayout を設定したあと、ボタンを 2 つフレームに追加しています。

レイアウトマネージャーを設定する(2)

-- --

フレームで使用するレイアウトマネージャーを設定する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。