SWT CheckboxTreeViewer相关用法
最近在项目中需要用到遍历某个目录下所有文件,并按照树形结构展示,同时还需要提供对树形菜单的选择展开等操作。在eclipse中提供了CheckboxTreeViewer组件来满足所需要的功能
下面是需要实现的功能:
?
1、使用TitleAreaDialog创建
TitleAreaDialog是Eclipse的Jface组件中的一个对话框,提供了显示的标题、提示信息和图标以及和内容区域,以及两个默认的按钮。我们在eclipse中常见的New Java Class Wizard就是一个典型的界面。
在自定义的界面中需要继承TitleAreaDialog
?运行的效果如下:
?
2、这里对CheckboxTreeViewer的几个属性设置做进一步说明
@Override public void handleEvent(Event event) { if (LogicUtil.isEmpty(checkedList)) { checkedList = new ArrayList<String>(); } //当前点击item TreeItem item = (TreeItem) event.item; TreeItem[] items = item.getItems(); for (TreeItem treeItem : items) { File file = (File) treeItem.getData(); if (checkedList.contains(file.getAbsolutePath())) { treeItem.setChecked(true); } } }??
?
?
?