Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse JFace TableViewer单元格中的小部件?_Eclipse_Widget_Jface_Tableviewer - Fatal编程技术网

Eclipse JFace TableViewer单元格中的小部件?

Eclipse JFace TableViewer单元格中的小部件?,eclipse,widget,jface,tableviewer,Eclipse,Widget,Jface,Tableviewer,我正在Eclipse3.6上使用JFace开发一个应用程序,我希望在TableViewer中有实际的小部件——主要是复选框和按钮。我所发现的一切似乎都表明,目前这是不可能的 我目前的解决方法是为包装表控件提供一个MouseListener,其中mouseDown事件坐标将使用该方法转换为单元格并执行操作。然后,我使用内容提供者提供图像和格式化文本,这些图像和文本在某种程度上接近各个小部件的外观 问题是结果根本不是本地的。有一些解决方法涉及拍摄实际本地小部件的屏幕截图,但这有几个问题: 这是一个

我正在Eclipse3.6上使用JFace开发一个应用程序,我希望在TableViewer中有实际的小部件——主要是复选框和按钮。我所发现的一切似乎都表明,目前这是不可能的

我目前的解决方法是为包装表控件提供一个MouseListener,其中mouseDown事件坐标将使用该方法转换为单元格并执行操作。然后,我使用内容提供者提供图像和格式化文本,这些图像和文本在某种程度上接近各个小部件的外观

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

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

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

您可以使用CellEditor来实现这一点。这并不完全是您想要的,因为小部件仅在编辑期间显示,但我认为,它非常接近

请参阅wiki页面上的或其他CellEditor示例