dash; 不允许键入输入值。
ProgressBars 支持其他一些可选样式:
SMOOTH —— 更新不是在截然不同的步骤中进行的。
INDETERMINATE —— 没有预先确定步骤数的范围;进度条只是在时间上重复。
要创建这些控件,可以使用清单 6-9 中所示的代码。正如在 第 2 部分 中所描述的,将通过 registerCallback 方法,使用 Java 反射将 SelectionListeners 添加到这些控件中。每当控件的值发生更改时,都会调用此侦听器。
清单 6. 用于创建 Slider 的方法
protected Slider createSlider(Composite parent, int style,
int min, int current, int max,
int inc, int pageinc, int thumb,
String callback) {
Slider s = new Slider(parent, style);
if (min >= 0) {
s.setMinimum(min);
}
if (max >= 0) {
s.setMaximum(max);
}
if (current >= 0) {
s.setSelection(current);
}
if (inc >= 1) {
s.setIncrement(inc);
}
if (pageinc >= 1) {
s.setPageIncrement(pageinc);
}
if (thumb >= 1) {
s.setThumb(thumb);
}
if (callback != null) {
registerCallback(s, this, callback);
}
return s;
}
protected Slider createVSlider(Composite parent,
int min, int current, int max,
int inc, int pageinc, int thumb,
String callback) {
return createSlider(parent, SWT.VERTICAL, min, current, max,
inc, pageinc, thumb, callback);
}
protected Slider createHSlider(Composite parent,
int min, int current, int max,
int inc, int pageinc, int thumb,
String callback) {
return createSlider(parent, SWT.HORIZONTAL, min, current, max,
inc, pageinc, thumb, callback);
}
SWT和JFace,第3部分: 简介(6)
时间:2011-03-20 IBM Barry Feigenbaum
清单 7. 用于创建 Spinner 的方法
protected Spinner createSpinner(Composite parent, int style,
int min, int current, int max,
int inc, int pageinc, String callback) {
Spinner s = new Spinner(parent, style);
if (min >= 0) {
s.setMinimum(min);
}
if (max >= 0) {
s.setMaximum(max);
}
if (current >= 0) {
s.setSelection(current);
}
if (inc >= 1) {
s.setIncrement(inc);
}
if (pageinc >= 1) {
s.setPageIncrement(pageinc);
}
if (callback != null) {
registerCallback(s, this, callback);
}
return s;
}
清单 8. 用于创建 Scale 的方法
protected Scale createScale(Composite parent, int style,
int min, int current, int max,
int inc, int pageinc) {
Scale s = new Scale(parent, style);
if (min >= 0) {
s.setMinimum(min);
}
if (max >= 0) {
|