このページでは,SWT の機能を,図解で説明する.
【要点】
SWT の Shell オブジェクトを生成(生成された Shell オブジェクトは,フォーム部品の配置などで使用される). Shell オブジェクトの生成時に,ウインドウタイトルの設定,ウインドウサイズの設定,リサイズを許すかなどを設定する機能がある
createShell() 関数のテスト用
package hoge.hoge.com; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class HelloWorld { public static Shell createShell( Display display, String title, int width, int height, boolean resizable, int ncolumns ) { // title : ウインドウタイトル // widht, height : ウインドウサイズ // resizable : サイズ変更を許すか // ncolumns : カラム数 Shell shell = null; if ( resizable ) { shell = new Shell( display, SWT.TITLE|SWT.MIN|SWT.MAX|SWT.RESIZE); // SWT.TITLE : タイトルバーあり // SWT.MAX : 最大化ボタンあり // SWT.MIN : 最小化ボタンあり // SWT.RESIZE : サイズ変更可能 } else { shell = new Shell( display, SWT.TITLE ); } shell.setText( title ); shell.setSize( width, height ); shell.setLayout( new GridLayout( /* カラム数 */ ncolumns, /* グリッドを均等サイズにするか */ false ) ); return shell; } public static void main(String[] args) { Display display = new Display(); Shell shell = createShell( display, "HelloWorld!", 200, 100, true, 2 ); Text text1 = new Text( shell, SWT.SINGLE | SWT.BORDER ); Button button1 = new Button(shell, SWT.BORDER); button1.setText("処理開始"); shell.open(); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) { display.sleep (); } } display.dispose (); } }
以下,createShell() 関数を使って,SWT の Shell オブジェクトの機能を説明する.
以下のように,SWT の Shell オブジェクトには,ウインドウタイトルを設定できる.
ウインドウタイトルには,setText() 関数を使う.
以下のように,SWT の Shell オブジェクトでは,ウインドウサイズを設定できる. ウインドウサイズの設定には,setSize() 関数を使う.
以下のように,SWT の Shell オブジェクトでは,最大化ボタン,最小化ボタン,サイズ変更可能を設定できる.
上のようにするためには,Shell オブジェクトのコンストラクタに,次の3つを含めます.
次のように,最大化ボタン,最小化ボタンを含めたくないし,サイズ変更可能にしたくない場合もあるでしょう.
そのときは,Shell オブジェクトのコンストラクタに, SWT.MAX,SWT.MIN,SWT.RESIZE を含めないということになる.
下記のようなフォーム部品の配置については,Shell オブジェクトを使う.
プログラムは,次のようになる.