有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Eclipse RCP CommonNavigator工具提示?

我正试图基于带有自定义labelprovider的CommonNavigator类向导航器添加工具提示。但是,工具提示从未显示,实现的方法也从未被调用。我在Eclipe Bug Report网站上看到了一些Bug,但我不确定这是因为Bug还是因为我做错了什么,是否有解决方法

这些是主要类(我更改了类名)

导航器视图:

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;
    }
}

有没有可行的解决方案

谢谢


共 (1) 个答案

  1. # 1 楼答案

    对于其他有同样问题的人:

    提供的链接greg-449解决了这一问题

    我必须在视图中重写CreateComonViewer方法,并手动设置标签提供程序:

    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;
      }
    
    }