目次へ

7.2. javax.swing.JTabbedPane

「JTabbedPane」は複数のコンポーネントを重ねて入れておき、それをタブによって切り替えて見せるためのコンポーネントです。「CardLayout」とよく似た動作をしますが、自動的にタブがつく分、「JTabbedPane」の方が便利です。インスタンスの作成は以下のようにします。

JTabbedPane tabbedPane=new JTabbedPane();

引数を1つ取るコンストラクタもあり、こちらではタブが表示される位置を指定する事ができます。この例の場合には、タブは左側につきます。

JTabbedPane tabbedPane=new JTabbedPane(SwingConstants.LEFT);

タブの追加は「addTab」メソッドを使用します。

tabbedPane.addTab("label", JLabel("label"));

1つ目の引数はタブのタイトル、2つ目はそのタブに追加するコンポーネントです。またタブは0から順番に番号が割りあてられていきます。「removeTabAt」メソッドで番号を指定すると、該当するタブが削除されます。以下は「JTabbedPane」を用いたサンプルウィンドウです。

「JTabbedPane」を用いたサンプルウィンドウ

(実習課題2)

以下のサンプルプログラムを作成しなさい。

  • ウィンドウに直接、配置されるコンポーネントは「JTabbedPane」1つ。
  • 「JTabbedPane」に配置されるタブは3つで、それぞれが持つコンポーネントは以下のとおり。タブの名前、および各ラベル・ボタンのテキスト等は任意。
    • ラベル1つ
    • ボタン1つ
    • ラジオボタン3つ
  • タブが切り替わる毎に、ウィンドウのタイトルがタブの名前になるようにする事。
  • (ヒント)「JTabbedPane」の「addChangeListener」メソッドを使用する事。
  • (ヒント)現在のタブは「getSelectedIndex」メソッドで。
  • (ヒント)ウィンドウタイトルの変更は「setTitle」メソッドで。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp