タブの表示位置を設定する
広告
デフォルトではタブはタブペインの上部に表示されますが、別の場所に表示されるように設定することも可能です。タブの表示位置を設定するにはコンストラクタで指定する方法とメソッドを使って設定する方法があります。
まずコンストラクタで指定する方法を確認します。
JTabbedPane public JTabbedPane(int tabPlacement)
JTabbedPane.TOP、JTabbedPane.BOTTOM、JTabbedPane.LEFT、JTabbedPane.RIGHT のうちのどれかで指定されたタブ配置を使用して、空の TabbedPane を作成し ます。 パラメータ: tabPlacement - コンテンツに対するタブの配置
タブが表示される位置をint型の値で指定します。指定できる値は次の4つです。
値 | タブの表示位置 |
---|---|
JTabbedPane.TOP | 上 |
JTabbedPane.BOTTOM | 下 |
JTabbedPane.LEFT | 左 |
JTabbedPane.RIGHT | 右 |
実際の使い方は次のようになります。
JTabbedPane tabbedpane = new JTabbedPane(JTabbedPane.LEFT); tabbedpane.addTab("title1", new JButton("button1"));
メソッドで指定する
次に一度作成したJTabbedPaneクラスのオブジェクトに対してメソッドを使ってタブの表示位置を設定する方法を確認します。JTabbedPaneクラスで用意されている「setTabPlacement」メソッドを使います。
setTabPlacement public void setTabPlacement(int tabPlacement)
タブ区画のタブの配置を設定します。次に有効な値を示します。 JTabbedPane.TOP JTabbedPane.BOTTOM JTabbedPane.LEFT JTabbedPane.RIGHT デフォルト値が設定されていない場合は、SwingConstants.TOP パラメータ: tabPlacement - コンテンツに対するタブの配置 例外: IllegalArgumentException - タブの配置が前述の正当な値の いずれでもな い場合
タブが表示される位置をint型の値で指定します。指定できる値はコンストラクタの場合と同じです。
実際の使い方は次のようになります。
JTabbedPane tabbedpane = new JTabbedPane(); tabbedpane.addTab("title1", new JButton("button1")); tabbedpane.setTabPlacement(JTabbedPane.BOTTOM);
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*; import java.awt.BorderLayout; public class JTabbedPaneTest8 extends JFrame{ public static void main(String[] args){ JTabbedPaneTest8 frame = new JTabbedPaneTest8(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } JTabbedPaneTest8(){ JTabbedPane tabbedpane = new JTabbedPane(); JPanel tabPanel1 = new JPanel(); tabPanel1.add(new JButton("button1")); JPanel tabPanel2 = new JPanel(); tabPanel2.add(new JLabel("Name:")); tabPanel2.add(new JTextField("", 10)); JPanel tabPanel3 = new JPanel(); tabPanel3.add(new JButton("button2")); tabbedpane.addTab("tab1", tabPanel1); tabbedpane.addTab("tab2", tabPanel2); tabbedpane.addTab("tab3", tabPanel3); tabbedpane.setTabPlacement(JTabbedPane.BOTTOM); getContentPane().add(tabbedpane, BorderLayout.CENTER); } }
上記をコンパイルした後で実行すると次のように表示されます。
なおソースコードは省略しますがタブの表示位置を「左」及び「右」にした場合は次のようになります。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。