首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

经过TreeColumn实现“表格树”TableTree

2012-07-22 
通过TreeColumn实现“表格树”TableTree通过treecolumn的方式实现表格树,实现过很多次,但是每次都得自己写一

通过TreeColumn实现“表格树”TableTree

通过treecolumn的方式实现表格树,实现过很多次,但是每次都得自己写一遍,今天记录下来,以后捡现成的。

?

final TreeViewer viewer = new TreeViewer(shell, SWT.FULL_SELECTION);        viewer.getTree().setHeaderVisible(true);        TreeColumn column = new TreeColumn(viewer.getTree(), SWT.LEFT);        column.setText("Name");        column.setWidth(200);        column = new TreeColumn(viewer.getTree(), SWT.LEFT);        column.setText("Size");        column.setWidth(100);        column = new TreeColumn(viewer.getTree(), SWT.LEFT);        column.setText("Hidden");        column.setWidth(100);        viewer.setContentProvider(new MyTreeContenetProvider());        viewer.setLabelProvider(new MyTableLableProvider());        viewer.setInput(new File("/"));

?

class MyTreeContenetProvider implements ITreeContentProvider{        public Object[] getChildren(Object parentElement) {            File file=(File)parentElement;            if(file.isDirectory())                return file.listFiles();            else                return null;        }        public Object getParent(Object element) {            File file=(File)element;            return file.getParentFile();        }        public boolean hasChildren(Object element) {            File file=(File)element;            return file.isDirectory()/*&&file.list().length>0*/;        }        public Object[] getElements(Object inputElement) {            File file=(File)inputElement;            return file.isDirectory()?file.listFiles():new Object[]{file};        }        public void dispose() {                    }        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {                    }            }

?

?

class MyTableLableProvider implements ITableLabelProvider{        public Image getColumnImage(Object element, int columnIndex) {            return null;        }        public String getColumnText(Object element, int columnIndex) {            File file=(File)element;            switch (columnIndex) {            case 0:                return file.getName();            case 1:                return ""+file.length();            case 2:                return ""+file.isHidden();            default:                return "";            }        }        public void addListener(ILabelProviderListener listener) {                    }        public void dispose() {                    }        public boolean isLabelProperty(Object element, String property) {            return false;        }        public void removeListener(ILabelProviderListener listener) {                    }            }
?

?

?

热点排行