为了方便用户输入数据,SWT中提供了Slider组件,用户可通过Slider设置数据的增量值,用来控制其他组件,也可以作为滚动条控制其他组件中的数据显示。添加Slider组件的步骤如下:
1. 创建Slider对象,并指定创建的样式,例如“Slider slide = new Slider(shell, SWT.HORIZONTAL);”。
2. 设置Slider的最大值和最小值,例如“slide.setMaximum(100);”。
3. 设置Slider增量的增加或递减值,例如“slide.setIncrement(1);”。
4. 添加Slider的事件监听器,例如“slide.addSelectionListener(selectionListener);”。
为了更好地掌握Slider组件,下面通过一个实例演示如何创建Slider组件,代码如例程4所示。
例程4 SliderExample.java
public class SliderExample { Display dispaly; Shell shell; SliderExample() { dispaly = new Display(); shell = new Shell(dispaly); shell.setSize(300, 250); shell.setText("A Slider Example"); //添加Slider对象 final Slider slide = new Slider(shell, SWT.V_SCROLL); //设置Slider的位置和大小 slide.setBounds(170, 25, 25, 20); //设置Slider的最小值 slide.setMinimum(0); //设置Slider的最大值 slide.setMaximum(100); //设置Slider单击左右箭头的增加或递减值 slide.setIncrement(1); final Text t = new Text(shell, SWT.BORDER); t.setBounds(115, 25, 55, 20); t.setText("0"); t.setFocus(); //添加Slider的事件监听器 slide.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { t.setText(new Integer(slide.getSelection()).toString()); } }); shell.open(); while (!shell.isDisposed()) { if (!dispaly.readAndDispatch()) dispaly.sleep(); } dispaly.dispose(); } public static void main(String[] args) { new SliderExample(); } }
以上代码添加了一个Text组件和一个Slider组件。Slider组件设置了增量值为1,另外Slider组件添加了选择事件,当选择了Slider组件后,Slider将为Text组件赋值。程序运行效果如图4所示。
图4 Slider组件
Slider组件要配合其它的组件使用,辅助其它的组件完成功能。