パネルを作成する

広告

パネルを作成するには JPanel クラスを使用します。ここでは JPanel クラスの定義やコンストラクトについて確認します。

JPanelクラスの定義

JPanel クラスは次のように定義されています。

java.lang.Object
  java.awt.Component
    java.awt.Container
      javax.swing.JComponent
        javax.swing.JPanel

public class JPanel
extends JComponent
implements Accessible

パネルはコンポーネントの親クラスであるJComponentクラスのサブクラスとなっています。

JPanelクラスのコンストラクタ

JPanel クラスをを利用するにはコンストラクタを使って JPanel クラスのオブジェクトを作成します。次のようなコンストラクタが用意されています。

JPanel()

ダブル・バッファおよびフロー・レイアウトで新しいJPanelを作成します。

JPanel(boolean isDoubleBuffered)

FlowLayoutおよび指定されたバッファリング方式で新しいJPanelを作成します。

JPanel(LayoutManager layout)

指定されたレイアウト・マネージャで、新しいJPanelを作成します。

JPanel(LayoutManager layout, boolean isDoubleBuffered)

指定されたレイアウト・マネージャおよびバッファリング方式で新しいJPanelを作成します。

主に使用するのは最初のコンストラクタです。次のように定義されています。

public JPanel()

ダブル・バッファおよびフロー・レイアウトで新しいJPanelを作成します。

JPanel のデフォルトのレイアウトマネージャーである FlowLayout が設定されたパネルが作成されます。

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

JPanel panel = new JPanel();

パネルには使用するレイアウトマネージャーを設定することができるため、パネルのオブジェクトを作成したあとボタンやラベルといったコンポーネントをパネルに追加してレイアウトを行ったあとでフレームにパネルを追加するといった処理がよく行われます。パネルに対するコンポーネントの追加やレイアウトマネージャーの設定は別のページで解説いたしますので、ここでは簡単なサンプルだけ見ておいてください。

サンプルプログラム

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

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.BorderLayout;

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

  JSample1_1(String title){
    setTitle(title);
    setBounds(100, 100, 600, 400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();

    JLabel label = new JLabel("Name");
    JTextField text = new JTextField(20);
    panel.add(label);
    panel.add(text);

    Container contentPane = getContentPane();
    contentPane.add(panel, BorderLayout.CENTER);
  }
}

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

javac JSample1_1.java

JPanelクラスのコンストラクタ(1)

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

java JSample1_1

パネルを作成しラベルとテキストボックスをパネルに追加しています。その後でパネルをフレームに追加しています。

JPanelクラスのコンストラクタ(2)

-- --

JPanel クラスの定義やコンストラクトについて確認しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。