ProgressBar Tutorial
进度条(ProgressBar
)除了可以是水平的(SWT.HORIZONTAL
)也可以是垂直的(SWT.VERTICAL
)之外,有两种分格,一种是SWT.SMOOTH
,还有一种是SWT.INDETERMINATE
,默认情况是SWT.SMOOTH
。
- SWT.SMOOTH:
进度条可以设置最大值,最小值以及当前的进度(Selection),只有进度值发生变化时,进度条才会更新。
- SWT.INDETERMINATE:
进度条会一直滚动显示,最大值,最小值和进度值都对它无效。
先看一段示例:
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("ProgressBar Tutorial");
shell.setSize(315, 200);
shell.setLayout(new GridLayout(2, false));
// SWT.DEFAULT | SWT.SMOOTH
final ProgressBar smoothBar = new ProgressBar(shell, SWT.SMOOTH);
smoothBar.setMaximum(100);
smoothBar.setSelection(30);
new Label(shell, SWT.NONE).setText("SWT.SMOOTH");
// SWT.INDETERMINATE
new ProgressBar(shell, SWT.INDETERMINATE);
new Label(shell, SWT.NONE).setText("SWT.INDETERMINATE");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
如图:
State
ProgressBar
在有些系统中(如Windows 7和Mac OS)支持三种类型的状态:SWT.NORMAL
,SWT.ERROR
和SWT.PAUSED
。一般情况下会在TaskBar上面以不同的颜色同步显示进度
参考资料:
* ProgressBar snippets
* 如果想了解更多的关于设置颜色,字体等其它属性的相关内容,请移步至控件的通用设置
* 如果想了解更多的关于Layout
和LayoutData
的相关内容,请移步至布局管理器
* SWT Example: ControlExample
* Sample code and further information
Back to Home 上一篇:CoolBar Tutorial 下一篇:ScrollBar Tutorial