トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

CTabFolder

CTabFolderは機能的にはTabFolderとほぼ同等ですが、見た目や機能が若干異なります。TabFolderではOSネイティブのタブコントロールを使用しますが、CTabFolderはEclipseのエディタやビューで使われているようなスマートな外観のタブを使用したい場合に利用します。

CTabFolder tabFolder = new CTabFolder(shell,SWT.NONE);

// 1つめのタブアイテムを作成
CTabItem tabItem1 = new CTabItem(tabFolder,SWT.NONE);
tabItem1.setText("タブ1");

// 1つめのタブにウィジェットを設定
Label label1 = new Label(tabFolder,SWT.NONE);
label1.setText("ラベル1");
tabItem1.setControl(label1);

// 2つめのタブアイテムを作成
CTabItem tabItem2 = new CTabItem(tabFolder,SWT.NONE);
tabItem2.setText("タブ2");

// 2つめのタブにウィジェットを設定
Label label2 = new Label(tabFolder,SWT.NONE);
label2.setText("ラベル2");
tabItem2.setControl(label2);

上記のコードを実行すると以下のようになります。

CTabFolderのコンストラクタにSWT.CLOSEを指定することでクローズボタン付きのタブを作成することができます。また、setSimpleメソッドで、タブの外観を変更することができます。

CTabFolder tabFolder = new CTabFolder(shell,SWT.CLOSE);
tabFolder.setSimple(false);

タブ部分にはEclipse 3.0で表示されているような最大化、最小化ボタンを表示したり、イメージや背景色にグラデーションを設定することもできます。試しにEclipse 3.0のビューを再現してみます。

CTabFolder tabFolder = new CTabFolder(shell,SWT.BORDER|SWT.CLOSE);
// 最大化ボタンを表示
tabFolder.setMaximizeVisible(true);
// 最小化ボタンを表示
tabFolder.setMinimizeVisible(true);
// タブの高さを設定
tabFolder.setTabHeight(24);
// 選択タブの背景色にグラデーションを設定
tabFolder.setSelectionBackground(
  new Color[]{
    display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND),
    display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT)},
  new int[] {90},
  true
);
// 選択タブの文字色を設定
tabFolder.setSelectionForeground(display.getSystemColor(SWT.COLOR_WHITE));

// イメージ付きのタブを作成
CTabItem tabItem1 = new CTabItem(tabFolder,SWT.NONE);
tabItem1.setText("タブ1");
Image image = new Image(display,"sample.gif");
tabItem1.setImage(image);

最終更新時間:2004年09月02日 05時45分59秒