3

有一个 jface 的引用TreeViewer,你怎么能得到它的列的列表,例如TreeViewerColumn对象?就像是:

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

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

我要做的是在 Project Explorer 中添加对项目的编辑支持。我有对 Project Explorer 的树查看器的引用,但我需要获取它TreeViewerColumn并执行以下操作:

column.setEditingSupport(...);
4

1 回答 1

3

对 的引用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);
    }
}
于 2013-07-11T16:05:04.413 回答