トップ 一覧 検索 ヘルプ RSS ログイン

Scaleの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
Scaleはメモリ付きのSliderのようなウィジェットです。使い方はSliderとほぼ同じです。
 import org.eclipse.swt.*;
 import org.eclipse.swt.layout.*;
 import org.eclipse.swt.widgets.*;
 
 public class ScaleSample {
   public static void main(String[] args){
     Display display = new Display();
     Shell shell = new Shell(display);
     shell.setText("Scale Sample 1");
     shell.setLayout(new FillLayout());
     
     Scale scale = new Scale(shell,SWT.HORIZONTAL);
     // 最小値、最大値を設定
     scale.setMinimum(0);
     scale.setMaximum(400);
     scale.setIncrement(50);
     // メモリの表示単位を設定
     scale.setIncrement(50);
     // ツマミの初期位置を設定
     scale.setSelection(200);
     
     shell.setSize(500,70);
     shell.open();
     while (!shell.isDisposed()) {
       if (!display.readAndDispatch()) {
         display.sleep();
       }
     }
     display.dispose();
   }
 }

上記のコードを実行すると以下のようになります。

{{ref_image ScaleSample1.png}}

Scaleのツマミの移動に応じてなんらかの処理を行うには、Sliderの場合と同様にSelectionListenerを使用します。

 scale.addSelectionListener(new SelectionAdapter(){
   public void widgetSelected(SelectionEvent e){
     // 現在のScaleの値を標準出力に表示
     Scale scale = (Scale)e.widget;
     System.out.println(scale.getSelection());
   }
 });