关于checkboxtree选中的一个小例子非常使用
来源:互联网 发布:日本老龄化 知乎 编辑:程序博客网 时间:2024/05/21 13:19
有网友抗天提供非常感谢
package tree;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.eclipse.jface.viewers.CheckboxTreeViewer;import org.eclipse.swt.SWT;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Item;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Tree;import org.eclipse.swt.widgets.TreeItem;import org.eclipse.swt.widgets.Widget;public class TE {private Tree tree;protected Shell shell;/** * Launch the application * @param args */public static void main(String[] args) {try {TE window = new TE();window.open();} catch (Exception e) {e.printStackTrace();}}/** * Open the window */public void open() {final Display display = Display.getDefault();createContents();shell.open();shell.layout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}}/** * Create contents of the window */protected void createContents() {shell = new Shell();shell.setSize(500, 375);shell.setText("SWT Application");final CheckboxTreeViewer checkboxTreeViewer = new CheckboxTreeViewer(shell, SWT.BORDER);tree = checkboxTreeViewer.getTree();tree.setBounds(23, 48, 459, 260);checkboxTreeViewer.setContentProvider(new Content());checkboxTreeViewer.setLabelProvider(new Label());checkboxTreeViewer.setInput(getInputContent());/*Parent []p = new Parent[1];p[0] = new Parent();p[0].setName("小一");List<Child> ls = new ArrayList<Child>();Child c1 = new Child();c1.setName("小一一");ls.add(c1);p[0].setChild(ls);*/checkboxTreeViewer.expandAll();String []obj = new String[2];obj[0] = "小一";obj[1] = "小二二";setChecked(obj, tree);//}private void setChecked(String [] obj, Tree tree) {Map map = new HashMap();for(int i = 0; i < obj.length; i++) {map.put(obj[i], obj);}internalSetChecked(map, tree);}private Item[] getChildren(Widget o) {if (o instanceof TreeItem) {return ((TreeItem) o).getItems();}if (o instanceof Tree) {return ((Tree) o).getItems();}return null;} private void internalSetChecked(Map checkedElements, Widget widget) { Item[] items = getChildren(widget); for (int i = 0; i < items.length; i++) { TreeItem item = (TreeItem) items[i]; Object data = item.getData(); if (data != null) { String temp = ((IName)data).getName(); boolean checked = checkedElements.containsKey(temp); if (checked != item.getChecked()) { item.setChecked(checked); } } internalSetChecked(checkedElements, item); } }private List getInputContent() {List<Parent> lst = new ArrayList<Parent>();Parent p1 = new Parent();p1.setName("小一");List<Child> ls = new ArrayList<Child>();Child c1 = new Child();c1.setName("小一一");ls.add(c1);p1.setChild(ls);Parent p2 = new Parent();p2.setName("小二");List<Child> lss = new ArrayList<Child>();Child c2 = new Child();c2.setName("小二二");lss.add(c2);p2.setChild(lss);lst.add(p1);lst.add(p2);return lst;}}
- 关于checkboxtree选中的一个小例子非常使用
- 一个非常实用的关于checkboxtree小例子
- 一个关于时钟的非常简单的小例子
- epoll使用的一个小例子,非常实用
- epoll使用的一个小例子,非常实用
- jQuery EasyUI CheckBoxTree的级联选中
- jQuery EasyUI CheckBoxTree的级联选中
- 一个非常小的例子,挺好玩的
- 一个关于反射的小例子
- 关于Tree的一个小例子
- 关于String操作的一个小例子
- 关于JNI技术的一个小例子
- 关于私有继承的一个小例子
- 关于ExpandableListView的一个小例子
- 关于重力感应的一个小例子
- 关于SVN配置文件的一个小例子
- 关于ExpandableListView的一个小例子
- 关于echart的一个小例子
- Asp.net图片上传access数据库以及图片显示;点击图片以后显示[图片,以及图片的
- 关于tcltest的返回结果
- 当文字过多时,显示省略号
- net上传图片(取一张最新图片)
- WWF中宿主程序(即调用工作流的程序)和工作流内部交换数据的几种方法(情况)。
- 关于checkboxtree选中的一个小例子非常使用
- C#中使用反射动态加载和卸载DLL
- oracle和操作系统冲突的问题。
- Sql Server 基本函数
- 又遇Trojan.PSW.Win32.QQPass,Trojan.PSW.Win32.GameOL等1
- 德国队输了
- 系统资源调用和shell32.dll简介
- .NET vs J2EE——面对SOA的荒谬与误解
- 关于VPC 中安装softice的问题解决