jface的CheckboxTreeViewer实现单选
2015-12-22 20:04
411 查看
需求:使用FilteredTree实现一个下面这样的Dialog,要求Check框单选,即只能选择一个:当选择新的时候,旧的不选。说明:FilteredTree自带一个文本输入框。
代码如下
注意这里实现的是ITableLabelProvider接口。
我自己用checkboxTreeViewer.setChecked(element, state)无法设置event.getElement()【checkStateChanged方法中】元素的状态,
但是使用checkboxTreeViewer.setAllChecked(state)可以设置所有元素的状态为checked或者unchecked,
没办法,我又需要使用FilteredTree,又无法使用setChecked办法设置指定元素状态(我单步调试进入setChecked方法里面看了看,应该是event.getElement()元素的问题),只好想出上面的馊办法,希望对读者有用。
public class ChooseProjectEntryLabelProvider extends LabelProvider implements ITableLabelProvider{ @Override public Image getColumnImage(Object element, int columnIndex) { return null; } @Override public String getColumnText(Object element, int columnIndex) { if(element instanceof FuncItem){ FuncItem func = (FuncItem)element; switch(columnIndex){ case 0: return func.***; case 1: return func.***; case 2: return String.valueOf(func.***); default: return ""; } } return getText(element); } }
代码如下
注意这里实现的是ITableLabelProvider接口。
我自己用checkboxTreeViewer.setChecked(element, state)无法设置event.getElement()【checkStateChanged方法中】元素的状态,
但是使用checkboxTreeViewer.setAllChecked(state)可以设置所有元素的状态为checked或者unchecked,
没办法,我又需要使用FilteredTree,又无法使用setChecked办法设置指定元素状态(我单步调试进入setChecked方法里面看了看,应该是event.getElement()元素的问题),只好想出上面的馊办法,希望对读者有用。
相关文章推荐
- 1223第三十五节
- IOS持久化之NSKeyedArchiver,NSKeyedUnarchiver
- Java实现简单的顺序队列
- #Objective - C - sixth-Day 数组排序及集合遍历
- HTTP 状态码总结 (HTTP Status Codes)
- n皇后(C++)
- 屏1604 和 12232ZA
- launch文件remap标签
- SVN版本控制——主线、分支、标记篇
- C# string.split 分割字符串
- HNU OJ10086 挤挤更健康 记忆化搜索DP
- SVN版本控制——常见问题篇
- leetcode -- First Missing Positive -- 简单trick题目
- bzoj2152(树分治)
- poj2352树状数组
- SVN版本控制——基础篇
- Java中的线程池——ThreadPoolExecutor的原理
- 学习资源传送门
- Myeclipse下web项目改名,tomcat下不变的问题
- Java 笔记——序列化