JFace TreeViewer 中的额外列

extra column in a JFace TreeViewer

我有一个奇怪的问题...

通过创建一个只有几列的 (Jface) 树查看器,我总是会再创建一个 (emtpy) ....

/// TreeViewer creation:
        treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.FULL_SELECTION);

/// TreeViewerColumn creation!
    for (int column = 0; column < columnsToAdd; column++) {
        final TreeViewerColumn treeColumnText = new TreeViewerColumn(treeViewer, SWT.LEFT | SWT.BORDER);
        treeColumnText.getColumn().setWidth(columnWidth);
        treeColumnText.getColumn().setMoveable(false);
        treeColumnText.getColumn().setText(model.getColumnName(column));
        treeColumnText.setLabelProvider(columnLProvider[column]);
        treeColumnText.getColumn().pack();
    }

知道为什么吗?

*************** 更新

treeViewer 的父级是 personsTabFolder:

personsTabFolder = new CTabFolder(persons, SWT.NONE);

只是为了强调,我没有调用任何 .layout();在 personsTabFolder 上!

_ _

卡斯帕

我解决了! 正在使用 CTabItem 而不是 TabItem。