SWT Tips and Samples 基礎編 > TextViewer |
|
TextViewerTextViewerはMVCアーキテクチャーで実装したJFaceのテキストクラスです。MVCのビューにあたるのが、TextViewer、モデルにあたるのがIDcoumentインターフェースを実装したクラスになります。IDocumentの実装として、Documentクラスが用意されているので、これを使うと便利です。またこれらのクラスを使うには、EclipseSDKのjfacetext.jar, text.jar, jface.jarをクラスパスに追加する必要があります。 使い方は以下のようになります。TextViewerを生成しただけでは、モデルとなるドキュメントは自動的に生成されないので、ドキュメントは別に生成してビューにセットする必要があります。またテキストウィジェットの概観を変えたいときは、getTextWidgetメソッドでStyledTextを取り出し、前景色や背景色などの変更を加えればよいでしょう。 TextViewer textViewer = new TextViewer(shell, SWT.BORDER | SWT.MULTI); Document doc = new Document("ドキュメント"); textViewer.setDocument(doc); ... StyledText st = textViewer.getTextWidget(); ... サンプルプログラムこのサンプルでは1つのドキュメントに対して、概観の異なる二つのビューを持っています。したがって上部のテキストに文字を入力すると、下部のテキストにも文字が自動的に入力されます。 ソースコード (TextViewerTest.java)import org.eclipse.jface.text.Document; import org.eclipse.jface.text.TextViewer; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; public class TextViewerTest extends ApplicationWindow { public TextViewerTest() { super(null); } public static void main(String[] args) { ApplicationWindow w = new TextViewerTest(); w.setBlockOnOpen(true); w.open(); Display.getCurrent().dispose(); } protected Control createContents(Composite parent) { getShell().setText("TextViewerTest"); getShell().setSize(200,200); Display display = getShell().getDisplay(); Composite container = new Composite(parent, SWT.NONE); container.setLayout(new FillLayout(SWT.VERTICAL)); Document doc = new Document("ドキュメント"); TextViewer text1 = new TextViewer(container, SWT.MULTI | SWT.BORDER); text1.setDocument(doc); TextViewer text2 = new TextViewer(container, SWT.MULTI); text2.setDocument(doc); text2.getTextWidget().setForeground( display.getSystemColor(SWT.COLOR_WHITE)); text2.getTextWidget().setBackground( display.getSystemColor(SWT.COLOR_BLACK)); return container; } } 最新更新日: 2004年7月25日 |
- PR -
【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!
オフィス用品・オフィス家具 価 格 交 渉 可!
|
||||
|
|||||
Copyright(C) 2003,2004 Jasmin Project. All Right Reserved. |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||