有时候,可能需要在自己定义的视图或对话框中展示workspace中的元素。UI效果可能如下:
此对话框的核心UI代码为:
@Override
protected Control createDialogArea(Composite parent) {
getShell().setText("在TreeViewer中展示Java元素");
Composite container = (Composite) super.createDialogArea(parent);
TreeViewer viewer = new TreeViewer(container);
viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
ITreeContentProvider contentProvider = new StandardJavaElementContentProvider(
true);
viewer.setContentProvider(contentProvider);
ILabelProvider labelProvider = new JavaElementLabelProvider(
JavaElementLabelProvider.SHOW_DEFAULT
| JavaElementLabelProvider.SHOW_QUALIFIED
| JavaElementLabelProvider.SHOW_ROOT);
viewer.setLabelProvider(labelProvider);
viewer.setInput(JavaCore.create(ResourcesPlugin.getWorkspace()
.getRoot()));
return container;
}