如何使用 Ctrl 为 TreeViewer 启用多项选择
How to enable multiple selection with Ctrl for TreeViewer
我需要为我正在处理的项目添加多选功能。
到现在用的是SelectionChangedlistener
但是那个没有多选的选项
是否有任何支持 Ctrl-click 选择的侦听器类型我可以添加到这里?
这是我目前最好的选择。
要启用多选,请使用 SWT.MULTI
样式标志创建树查看器,
例如:
TreeViewer viewer = new TreeViewer( parent, SWT.MULTI );
ISelectionChangedListener
将在单选和多选时收到通知。所选元素保存在 SelectionChangedEvent::getSelection
.
中
有关提取所有选定元素的选择侦听器示例,请参见下面的代码:
ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged( SelectionChangedEvent event ) {
IStructuredSelection selection = ( IStructuredSelection )event.getSelection();
List<?> selectedElements = selection.toList();
}
};
如果您只针对 4.8 版及更高版本的 RCP 平台,您也可以使用 event.getStructuredSelection()
并省去强制转换。例如:
ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged( SelectionChangedEvent event ) {
IStructuredSelection selection = event.getStructuredSelection();
List<?> selectedElements = selection.toList();
}
};
我需要为我正在处理的项目添加多选功能。
到现在用的是SelectionChangedlistener
但是那个没有多选的选项
是否有任何支持 Ctrl-click 选择的侦听器类型我可以添加到这里?
这是我目前最好的选择。
要启用多选,请使用 SWT.MULTI
样式标志创建树查看器,
例如:
TreeViewer viewer = new TreeViewer( parent, SWT.MULTI );
ISelectionChangedListener
将在单选和多选时收到通知。所选元素保存在 SelectionChangedEvent::getSelection
.
有关提取所有选定元素的选择侦听器示例,请参见下面的代码:
ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged( SelectionChangedEvent event ) {
IStructuredSelection selection = ( IStructuredSelection )event.getSelection();
List<?> selectedElements = selection.toList();
}
};
如果您只针对 4.8 版及更高版本的 RCP 平台,您也可以使用 event.getStructuredSelection()
并省去强制转换。例如:
ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged( SelectionChangedEvent event ) {
IStructuredSelection selection = event.getStructuredSelection();
List<?> selectedElements = selection.toList();
}
};