使用 NatTable 自定义树项

Custom Tree Item Using NatTable

我想在 eclipse RCP e4 应用程序中为树项目实现以下 UI

--------------------
|> Label     [image]
--------------------
     |> Label
     |> Label
     |> Label
---------------------
|> Label     [image]
---------------------

此处的一行应该能够具有不同的背景颜色,并且 height.I 搜索了此类自定义树项。 JFace treeItem 似乎对在右侧显示图像有限制,所以想知道 NatTable 是否适合这种自定义树项。任何建议都会有所帮助。

根据我的经验,定制现有的第三方小部件是一项漫长而痛苦的工作。我几乎总是以自己的树和 Table 自定义 paintListeners 结束。如果您想修改字体、颜色、背景、对齐方式或图像的位置,我建议创建简单的 SWT.Tree 并添加自定义绘图。

Link 很棒的教程: http://www.eclipse.org/articles/article.php?file=Article-CustomDrawingTableAndTreeItems/index.html

问题是 NatTable 是否适合这样的自定义树,答案是肯定的。由于 NatTable 是一个自定义绘制的控件,它不是基于 SWT Tables and Trees 构建的,因此您几乎可以自由地做任何您想做的事情。

根据您的问题,您有 3 个要求:

  1. 不同的行高 -> NatTable 支持这个,SWT 不支持,因为 OS 限制
  2. 不同的背景颜色 -> NatTable 通过条件样式支持此功能
  3. 右边的图片 -> NatTable 通过 CellPainterDecorator 支持这个