如何在treeviewer中隐藏具有树层次结构的第一列?

时间:2013-03-03 09:08:54

标签: java swt jface treeviewer

我想完全隐藏TreeViewer中的第一列。如果我用setWidth(0)隐藏它,那么下一个可见列将获得三角形和填充。最愚蠢的方法是每次隐藏第一列时处置TreeViewer并创建TableViewer。有没有可靠的方法来解决这个问题?

编辑。插图:

demonstration

  1. 包含idlabel
  2. 的原始表格
  3. 隐藏id列的表格。宽度为1px。虚线分隔符非常难看。
  4. 隐藏id列的表格。宽度为0px。现在第二列已重新格式化元素。
  5. PS我可能成功在运行时用鼠标隐藏第一个id列(没有点分隔符和第二列看起来相同)。但这是如何通过代码?我绑定阅读JFace源代码,但没有找到任何有用的公共方法。

1 个答案:

答案 0 :(得分:0)

You have to handle this in your implementation of ITreeContentProvider, in your getElements() your should not return the root element, instead you return its children. in the getParent() your should return null for the root.