swt combo 改成多选框
时间: 2024-10-22 09:13:23 浏览: 24
SWT(Standard Widget Toolkit)是Eclipse Foundation开发的一个用于创建桌面应用的Java GUI库,它的`Combo`组件默认是单选模式,如果你想将其转换为一个多选框,你可以使用`Choice`组件。`Choice`组件允许用户选择多个选项。
以下是如何使用`Choice`组件创建一个多选框的简单示例:
```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 MultiSelectDemo {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
// 创建多选组合
String[] options = {"Option 1", "Option 2", "Option 3", "Option 4"};
Combo choice = new Choice(shell, SWT.MULTIPLE); // 设置多选模式
for (String option : options) {
choice.add(option);
}
// 添加事件监听器以便处理用户的选择
choice.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
int[] indices = choice.getSelection();
System.out.println("Selected options: ");
for (int index : indices) {
System.out.println(options[index]);
}
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
```
在这个例子中,我们首先创建了一个`Choice`实例,并设置了`SWT.MULTIPLE`标志使其成为多选框。然后添加了选项到选择列表,最后添加了一个`SelectionListener`来响应用户的选取操作。
阅读全文