java - Eclipse RCP CommonNavigator 工具提示?

标签 java swt eclipse-rcp jface

我正在尝试使用自定义标签提供程序向基于 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/

相关文章:

java - Servlet 响应应该被缓存,但没有

java - 在 java swing 应用程序中使用线程设置/刷新信息的好方法

java - 如何找到将启动给定文件的程序的名称?

java - 为什么 GEF 编辑器部分不显示?

java - 在 Eclipse RCP 中嵌入 Silverlight 应用程序

java - Netbeans项目分享

java - 未提供内部拆分列表!没有提供规则 URL?

java.lang.NoSuchFieldError : handle

java - SWT.CHECK 上的交叉图像

eclipse-rcp - eclipse RCP : Right aligned search field in toolbar