如何在SWT中创建一个多选控件?
时间: 2024-10-22 16:14:05 浏览: 34
在Java SWT(Standard Widget Toolkit)中,你可以使用`Choice`或` Combo`组件来创建一个多选控件。这里我会给你展示如何使用`Choice`组件,因为它的API更直接,更适合做多选。
首先,你需要添加SWT库到你的项目中。如果你使用的是Eclipse IDE,通常已经包含了这个库。
```java
import org.eclipse.swt.*;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;
public class MultiSelectExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
// 创建一个Choice对象
final Choice choice = new Choice(shell, SWT.MULTI | SWT.BORDER);
// 设置选项
String[] options = {"Option 1", "Option 2", "Option 3", "Option 4"};
for (String option : options) {
choice.add(option);
}
// 添加选择事件监听器
choice.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
System.out.println("Selected: " + choice.getSelection());
}
});
// 最后显示窗口
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
```
在这个例子中:
- `SWT.MULTI`标志表示这是一个多选框。
- `Choice`被放在一个`Shell`(窗口)里,填充布局使得它占据整个窗口。
- 我们设置了几个选项并添加到`Choice`中。
- 当用户选择某个选项时,`widgetSelected`方法会被调用,打印所选的选项。
运行这段代码,你就会看到一个多选框,用户可以选择多个选项。
阅读全文