我有一个表,每行代表不同的值.字符串有点长,我希望当我将鼠标悬停在特定单元格上时,工具提示应该弹出来自单元格的信息.
我编写了这段代码,但工具提示没有被替换,TableViewer方法永远不会执行:
columnMessage.setLabelProvider(new ColumnLabelProvider()
{
@Override
public void update(ViewerCell cell)
{
// ... as now
}
@Override
public String getToolTipText(Object element)
{
return getText(element);
}
});
Run Code Online (Sandbox Code Playgroud)
gre*_*449 11
要TableViewer添加调用以启用工具提示:
ColumnViewerToolTipSupport.enableFor(viewer);
Run Code Online (Sandbox Code Playgroud)
viewer你的桌面浏览器在哪里
这要求表的标签提供程序派生自CellLabelProvider(或从中派生的类之一ColumnLabelProvider).
然后,您可以覆盖标签提供程序中的许多方法来控制工具提示:
public String getToolTipText(Object element)
Run Code Online (Sandbox Code Playgroud)
返回文本.
public Image getToolTipImage(Object object)
public Color getToolTipBackgroundColor(Object object)
public Color getToolTipForegroundColor(Object object)
public Font getToolTipFont(Object object)
public int getToolTipStyle(Object object)
Run Code Online (Sandbox Code Playgroud)
用于图像,颜色,字体和样式
public Point getToolTipShift(Object object)
public int getToolTipTimeDisplayed(Object object)
public int getToolTipDisplayDelayTime(Object object)
Run Code Online (Sandbox Code Playgroud)
控制刀尖偏移量,以及何时显示.
所有这些都有默认值,因此getToolTipText是您真正需要覆盖的唯一默认值.
因此,对于您的代码,您可能会:
columnMessage.setLabelProvider(new ColumnLabelProvider() {
@Override
public void update(ViewerCell cell) {
... as now
}
@Override
public String getToolTipText(Object element)
{
// TODO return the tool tip text for 'element'
}
@Override
public String getText(Object element)
{
// TODO get text from 'element'
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4545 次 |
| 最近记录: |