0

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

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

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

4

2 回答 2

1

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

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

于 2015-10-05T12:48:41.447 回答
1

问题是 NatTable 是否适合这种自定义树,答案是肯定的。由于 NatTable 是一个自定义的绘制控件,它不建立在 SWT 表和树上,因此您可以自由地做任何您想做的事情。

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

  1. 不同的行高 -> NatTable 支持这一点,SWT 不支持,因为操作系统的限制
  2. 不同的背景颜色 -> NatTable 通过条件样式支持这一点
  3. 右侧的图像 -> NatTable 通过 CellPainterDecorator 支持此功能
于 2015-10-05T14:48:17.797 回答