我正在尝试使用自定义标签提供程序向基于 CommonNavigator 类的导航器添加工具提示。然而,工具提示永远不会显示,并且实现的方法永远不会被调用。我在 Eclipe Bug Report 网站上看到了一些错误,但我不确定这是由于该错误还是因为我做错了什么以及是否有解决方法。
这些是主要的类(我已经更改了类名)。
导航器 View :
public class MyNavigatorView extends CommonNavigator {
//...
@Override
public void initListeners(TreeViewer viewer) {
ColumnViewerToolTipSupport.enableFor(viewer);
//...
}
}
标签提供程序类:
public class MyNavigatorLabelContentProvider extends CellLabelProvider implements ILabelProvider, IStyledLabelProvider {
//...
@Override
public String getToolTipText(Object element) {
return "Tooltip Test";
}
@Override
public boolean useNativeToolTip(Object object) {
return true;
}
}
有没有可行的解决方案?
谢谢
最佳答案
对于遇到同样问题的其他人:
提供的链接 greg-449 解决了这个问题。
我必须在 View 中重写 createCommonViewer 方法并手动设置标签提供程序:
public class MyNavigatorView extends CommonNavigator {
//...
@Override
public void initListeners(TreeViewer viewer) {
ColumnViewerToolTipSupport.enableFor(viewer);
//...
}
@Override
protected CommonViewer createCommonViewer(Composite aParent) {
CommonViewer cv = super.createCommonViewer(aParent);
cv.setLabelProvider(new MyNavigatorLabelContentProvider());
return cv;
}
}
关于java - Eclipse RCP CommonNavigator 工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30211557/