在SWT树或表中嵌入自定义小部件

使用SWT,是否可以创建自定义窗口小部件并将其插入TableTree ,就像它是TreeItemTableItem

我试图创建一个类并扩展TreeItem但是我收到了这个警告:

 MyClass illegally extends TreeItem 

有没有办法做到这一点?

大多数SWT小部件都不是为扩展而设计的,并通过检查当前类是否在org.eclipse.swt.widgets包中来强制执行此操作。 这可以解决,但非常强烈劝阻。

小部件通常包含许多特定于平台的代码,覆盖类可能很容易使用只能在一个平台上运行的代码。

还有各种其他方法来扩展表和树。 使用TableEditorTreeEditor是一种方法。 使用SWT.MeasureItemSWT.PaintItemSWT.EraseItem自己绘制表/树是另一个。