SWT Tips and Samples 基礎編 > SourceViewer

 

SourceViewer

SourceViewerはTextViewerから継承されたクラスで、テキストの左側に行番号やアノテーションを表示できるルーラーや、シンタックスハイライト、ホバーテキストなど様々な機能を備えています。これらの機能については別途解説していく予定です。

SourceViewerの作成方法は以下のようになります。コンストラクタで左側に表示されるルーラーを指定します。

CompositeRuler ruler = new CompositeRuler(...);
...
SourceViewer sv = new SourceViewer(shell, ruler, SWT.BORDER | ...);
IDocument doc = new Document("...");
sv.setDocument(doc);

サンプルプログラム

このサンプルでは、LineNumberRulerColumnを持ったCompositeRulerを使ってSourceViewerに行番号を表示しています。

ソースコード (SourceViewerTest.java)

import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.source.CompositeRuler;
import org.eclipse.jface.text.source.LineNumberRulerColumn;
import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class SourceViewerTest extends ApplicationWindow {

        public SourceViewerTest() {
                super(null);

        }
        public static void main(String[] args) {
                ApplicationWindow w = new SourceViewerTest();
                w.setBlockOnOpen(true);
                w.open();
                Display.getCurrent().dispose();
        }

        protected Control createContents(Composite parent) {
                getShell().setText("SourceViewerTest");
                getShell().setSize(200,100);
                Display disp = getShell().getDisplay();
                
                Composite container = new Composite(parent, SWT.NONE);
                container.setLayout(new FillLayout());

                CompositeRuler ruler = new CompositeRuler();

                LineNumberRulerColumn lineCol = new LineNumberRulerColumn();
                lineCol.setBackground(disp.getSystemColor(SWT.COLOR_GRAY));
                lineCol.setForeground(disp.getSystemColor(SWT.COLOR_BLUE));
                ruler.addDecorator(0, lineCol);

                Document doc = new Document("SourceViewer\nの\nテスト\n");

                SourceViewer sv =
                        new SourceViewer(
                                container,
                                ruler,
                                SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
                sv.setDocument(doc);

                return container;
        }
}


最新更新日: 2004年7月14日
 
関連リンク
Eclipse API ドキュメント
Eclipse API - SourceViewer
TextViewer

- PR -

プレゼンテーション作成ソフト無料お試し版配信中

【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!

オフィス用品・オフィス家具 価 格 交 渉 可! 
◎ 目指せ★業界最安値 ★ ◎ オフィネット・ドットコム株式会社

注文から納品まで驚きの早さ!!【ASKULカタログ】はこちらから・・・

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

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

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

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

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

液晶なら世界のサムスン!!液晶モニター、テレビ直販サイト

インターネットはNTTのフレッツシリーズ
Bフレッツで超快適ブロードバンド!


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