【问题标题】:How to get the columns of a jface Tree Viewer?如何获取 jface 树查看器的列?
【发布时间】:2016-04-01 23:59:35
【问题描述】:

引用了 jface TreeViewer,如何获取其列的列表,例如TreeViewerColumn 对象?比如:

TreeViewer treeViewer = (TreeViewer)viewer;
TreeViewerColumn[] treeViewerColumns = treeViewer.getColumns();

只有我一个人还是没有明显的方法可以做到这一点?

我想要做的是在项目资源管理器中添加对项目的编辑支持。我参考了 Project Explorer 的树查看器,但我需要获取它的 TreeViewerColumn 并执行以下操作:

column.setEditingSupport(...);

【问题讨论】:

    标签: eclipse-plugin treeview jface treeviewer


    【解决方案1】:

    TreeViewerColumn 的引用存储在TreeColumn 的数据中。下面应该给你一个TreeViewerColumns的列表:

    List<TreeViewerColumn> treeViewerColumns = new ArrayList<TreeViewerColumn>();
    TreeColumn[] columns = treeViewer.getTree().getColumns();
    for (TreeColumn column : columns) {
        Object data = column.getData(Policy.JFACE + ".columnViewer");
        if (data instanceof TableViewerColumn) {
            TreeViewerColumn tvc = (TreeViewerColumn) data;
            treeViewerColumns.add(tvc);
        }
    }
    

    【讨论】:

    • 谢谢!上面的 sn-p 正是这样做的,但 Project Explorer 的树查看器似乎没有明确添加的列 - treeViewer.getTree().getColumns() 返回一个空数组。无论如何,这是另一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多