所有者绘制表:检测实际单元格是否已绘制或悬停

Mot*_*Mot 1 java swt tableviewer

如果将鼠标悬停在太窄的表格单元格上,则会出现某种弹出窗口.如何检测OwnerDrawLabelProvider.paint()(截断的)表格单元格是否被绘制或弹出窗口?

Tho*_* S. 5

不幸的是,似乎没有办法直接从中获取这些信息Event.但我们实施了以下方式:

  • 在Windows上,弹出窗口高于单元格(在Windows 7 aero主题上测试).这意味着,如果event.height != event.gc.getClipping().height,悬停被绘制.

  • 在OS X上,弹出窗口具有与单元格相同的大小,但是Table具有在绘制悬停时drawExpansion设置的字段true.只需用反射来阅读它.

  • Ubuntu上的SWT甚至根本没有显示任何悬停......