使用SWT,是否可以创建自定义窗口小部件并将其插入Table
或Tree
,就好像它是TreeItem
或TableItem
?
我尝试创建一个类并扩展TreeItem
,但我收到了此警告:
MyClass illegally extends TreeItem
有办法做到这一点吗?
答案 0 :(得分:2)
大多数SWT小部件都不是为了扩展而设计的,并通过检查当前类是否位于org.eclipse.swt.widgets
包中来强制执行此操作。这可以解决,但非常强烈不鼓励。
小部件通常包含许多特定于平台的代码,覆盖类可能很容易使用只能在一个平台上运行的代码。
还有各种其他方法来扩展表和树。使用TableEditor
和TreeEditor
是一种方法。使用SWT.MeasureItem
,SWT.PaintItem
和SWT.EraseItem
自己绘制表格/树是另一个。