チェックボックス
2003.04.13 update.

ON/OFFの指定を行うチェックボックスです。
「Button」クラスの引数にて「SWT.CHECK」を指定することにより作成します。


import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;

public class swtTest {

  public static void main(String argv[]){

    Display display = new Display();
    Shell shell = new Shell(display);

    //ウィンドウのタイトルを指定
    shell.setText("swtTest");

    Button chk = new Button(shell,SWT.CHECK);
    chk.setText("チェックボックス");
    chk.setBounds(10,10,120,24);

    //イベントの設定
    chk.addSelectionListener(new SelectionListener() {
      public void widgetDefaultSelected(SelectionEvent e){
      }
      public void widgetSelected(SelectionEvent e){
        Button bChk = (Button)e.widget;

        if(bChk.getSelection()){
          System.out.println("widgetSelected : 選択されている");
        } else {
          System.out.println("widgetSelected : 選択されていない");
        }
      }
    });
		
    shell.setBounds(100,100,200,80);

    //イベントループ
    shell.open();
    while (!shell.isDisposed()){
      if (!display.readAndDispatch()){
        display.sleep();
      }
    }

    //破棄処理
    display.dispose();
  }
}




「Button」のコンストラクタにて第二引数で「SWT.CHECK」を指定することにより、 チェックボックスを生成します。
「setText」で表示する文字列を指定しています。
「setBounds」で表示位置と表示サイズを指定しています。

「addSelectionListener」で「SelectionListener」を登録することにより、 ボタンが押された場合のイベント処理を行います。
これは、「プッシュボタン」のイベント処理と同じです。
「widgetSelected」は、ボタンが選択されたときに呼ばれます。
上記のソースでは、「Button bChk = (Button)e.widget;」により 呼ばれたボタンのオブジェクトを取得して、「getSelection()」にてチェックが 選択状態かをチェックしています。

テキストの代わりに画像を指定することもできます。
これは、「プッシュボタン」での画像の指定方法と同じです。

チェックする

チェックボックスをチェックするには、「setSelection」でtrueを指定します。


chk.setSelection(true);