SWTのサンプル的なアプリケーションとしてテキストエディタ を作成してみます。

まず次のコードを書いてみましょう。



ソース
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;



public class MyEditor {
  MyEditor(){
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setText("MyEditor");
  
   // テキストを作成
    Text txt = new Text(shell, SWT.BORDER|SWT.MULTI); // @
    txt.setSize(250,200); // A
        
    
    shell.pack ();
    shell.open ();
    
      
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch ()) display.sleep ();
    }
   
    }
    display.dispose ();
    }

  
      
    public static void main(String[] args) {
      new MyEditor();

      }
  }



これらを実行すると下図のようになります。





ここで初めてTextクラスが出てきました(@)。Textクラスはプレーンテキストを表示するためのクラスです。SWTではコントロールを作成するときにほとんどの場合、親のコントロールの指定を第1引数にパラメータ(SWTではスタイルという)を第2引数に指定します。
SWTでは実はこのスタイルビットによってそのコントロールがもちうる特性を指定します。


Text の場合スタイルでよく使うのは



SWT.NONE  プラットフォームのデフォルト仕様のTextのコントロールを作成
SWT.BORDER  境界(ボーダ)付のTextのコントロールを作成
SWT.SINGLE  単一行のTextのコントロールを作成
SWT.MULTI  複数行のTextのコントロールを作成
SWT.READ_ONLY  読み取り専用のTextのコントロールを作成

   

です(ほかにもあります)。

このサンプルでは複数行で表示したいのでSWT.MULTIを指定します。
また、Textの周囲にボーダーも付けたいのでSWT.BORDER も指定しています。

なお、これらは"|" を使用して同時指定することができますがSWT.SINGLEとSWT.MULTIに限っては同時指定できずどちらか一方になります。


サイズの指定は【setSize(int width, int height)】 メソッド使用します(A)。このサイズはセンチでもミリでもpointでもなくpixel(ピクセル)です。

このサンプルでは250x200 ピクセルを大きさとして指定しています。






Topに戻る。

SWT-Control のTopに戻る。


.
Copyright (C) 2006- M.Watanabe All Rights Reserved.

SWT でテキストエディタを作成 (その1)