Tips > CTabFolderをエクリプスライクのタブにするには?

 

CTabFolderをエクリプスライクのタブにするには?

Eclipseのようなタブのタイトルがグラデーションを持つタブフォルダーを作るには、CTabFolderのsetSelectionBackground()メソッドを以下のように使います。グラデーションの設定方法はColorオブジェクトの配列とint型の配列で指定します。詳しくは「ラベルの背景にグラデーションをつける」を参照してください。

CTabFolder tab = new CTabFolder(...);
//選択されたタブタイトルの背景色の設定
tab.setSelectionBackground(
         new Color[] {
            display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND),
            display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT),
            display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)
         },
         new int[] { 60, 100 });
//選択されたタブタイトルの前景色の設定
tab.setSelectionForeground(display.getSystemColor(SWT.COLOR_TITLE_FOREGROUND));

スクリーンショット

Eclipseライクの色をもつタブタイトルのサンプルです。

ソースコード (ColorCTabFolderTest.java)

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.*;

public class ColorCTabFolderTest {

   public static void main(String[] args) {
      new ColorCTabFolderTest();
   }
   public ColorCTabFolderTest() {
      Display display = new Display();
      Shell shell = new Shell(display);
      shell.setText("ColorCTabFolderTest");
      shell.setLayout(new FillLayout());

      CTabFolder tab = new CTabFolder(shell, SWT.CLOSE);
      tab.setSelectionBackground(
         new Color[] {
            display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND),
            display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT),
            display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)
            },
         new int[] { 60, 100 });
      tab.setSelectionForeground(
            display.getSystemColor(SWT.COLOR_TITLE_FOREGROUND));

      for (int i = 0; i < 3; i++) {
         CTabItem tabItem = new CTabItem(tab, SWT.NONE);
         tabItem.setText("Color Tab " + i);
         tabItem.setControl(new Text(tab, SWT.MULTI | SWT.BORDER));
      }

      tab.addCTabFolderListener(new CTabFolderAdapter() {
         public void itemClosed(CTabFolderEvent event) {
         }
      });

      shell.setSize(300,300);
      shell.open();
      while (!shell.isDisposed()) {
         if (!display.readAndDispatch()) {
            display.sleep();
         }
      }
      display.dispose();
   }
}

参考リンク



最新更新日: 2004年10月25日
 
関連リンク
Eclipse API ドキュメント
CTabFolder
Color

- PR -

マイクロソフト お得な見積! まとめての購入ならオトクな方法で。ライセンスだから管理も簡単。

シマンテック 割引価格! オンライン販売だから低価格。いつでも簡単、見積・購入。

■原石のままでは、終わりたくない貴方へ!キャリアアップ転職を成功へとナビゲート

秋葉原・なんば・名古屋・札幌に店舗を構えるパソコンショップ!【ツクモ】


Copyright(C) 2003,2004 Jasmin Project. All Right Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送