使用NatTable自定义树项

时间:2015-10-05 12:31:23

标签: swt eclipse-rcp nattable

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

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

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

2 个答案:

答案 0 :(得分:1)

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

指向优秀教程的链接: http://www.eclipse.org/articles/article.php?file=Article-CustomDrawingTableAndTreeItems/index.html

答案 1 :(得分:1)

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

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

  1. 不同的行高 - > NatTable支持这一点,由于操作系统的限制,SWT不支持
  2. 不同的背景颜色 - > NatTable通过条件样式支持
  3. 右侧的图片 - > NatTable通过CellPainterDecorator
  4. 支持此功能