eclipse - JFace TableViewer单元中的小部件?



widget (1)

我正在开发一个在Eclipse 3.6上使用JFace的应用程序,我希望在TableViewer中有实际的小部件 - 大多是复选框和按钮。 我发现的一切似乎都表明,目前这是不可能的。

我当前的解决方法涉及有一个包装的表控件的MouseListener,其中mouseDown事件坐标使用getCell()方法转换为单元格,并采取行动。 然后,我使用内容提供程序提供图像和格式化文本,这些文本稍微接近各个小部件的外观。

问题是,结果不是本地的。 有一些解决方法涉及到实际原生小部件的屏幕截图,但这有几个问题:

  • 这是一个黑客
  • 捕获的小部件变得可见,在屏幕上创建一个闪烁的神器
  • 它需要图像处理技巧,使捕获的图像与桌面颜色混合
  • 当需要不同内容的按钮时,它不能很好地缩放

有没有一种方法嵌入TableViewer单元中的小部件,而不使用这种繁琐的方法? 底层的SWT表格当然可以做到这一点,但TableViewer界面似乎不支持这...

https://code.i-harness.com