科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Eclipse插件开发系列7.TreeViewer的使用(2)

Eclipse插件开发系列7.TreeViewer的使用(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这个例子有三个实体类:国家、城市、人,它们都实现了TreeEntry接口,这三个实体是有层级关系的。另外还写了一个工厂类来生成TreeViewer.setInput所需要的参数。

作者:陈刚 来源:CSDN 2008年2月26日

关键字: java TreeView Eclipse

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

??????? /**
???????? * 由这个方法决定结点应该显示那些子结点。在这里也不管父结点是什么,每个结点都统一有三个字结点
???????? * @param parentElement 被点击的结点(父结点)
???????? */
??????? public Object[] getChildren(Object parentElement) {
??????????? if (parentElement instanceof Country)
??????????????? return ((Country) parentElement).getCities().toArray();
??????????? else if (parentElement instanceof City)
??????????????? return ((City) parentElement).getPeoples().toArray();
??????????? return new Object[0];
??????? }

??????? /**
???????? * 判断某结点是否有子结点。在这里不管3721,全返回真,即都有子结点。这时结点前都有一个“+”号图标
???????? * @param element 需要判断是否有子的结点
???????? */
??????? public boolean hasChildren(Object element) {
??????????? //People没有结点,Country和City才可能有子结点
??????????? if (element instanceof People) {
??????????????? return false;
??????????? } else if (element instanceof Country) {
??????????????? List list = ((Country) element).getCities();
??????????????? //其子的集合不为空
??????????????? if (list != null && !list.isEmpty())
??????????????????? return true;
??????????? } else if (element instanceof City) {
??????????????? List list = ((City) element).getPeoples();
??????????????? if (list != null && !list.isEmpty())
??????????????????? return true;
??????????? }
??????????? return false;
??????? }

??????? public Object getParent(Object element) {
??????????? return null;
??????? }

??????? public void dispose() {}

??????? public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
??? }

??? /**
???? * 标签提供器。
???? */
??? private static final class MyLableProvider extends LabelProvider {
//??????? /**
//???????? * 显示什么图片
//???????? * @param 结点
//???????? * @return 可以为null值
//???????? */
//??????? public Image getImage(Object element) {
//??????????? //??????????? ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
//??????????? //??????????? return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK);
//??????????? return null;
//??????? }

??????? public String getText(Object element) {
??????????? if (element instanceof TreeEntry)
??????????????? return ((TreeEntry) element).getName();
??????????? return "";
??????? }
??? }
}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章