Java 动态更改draw2d地物的工具提示
我们目前正在使用EclipseDraw2D/GEF作为描述应用程序中流程的信息页面。这基本上由一个大正方形矩阵组成,每个大正方形矩阵包含一个小正方形矩阵。我们最初将所有的正方形都作为GEF对象,但由于显示了大量的正方形,我们发现其缩放效果不太好,视图需要很长时间才能打开。然后我们改变了它,只有大的正方形是图形,然后我们使用paintFigure中的图形绘制小的正方形 我们遇到的问题是,我们仍然希望工具提示根据您悬停在哪个小正方形上而改变。我试图通过添加一个mouseMotionListener并通过setTooltip设置工具提示来实现这一点,具体取决于鼠标当前所在的位置。问题是,一旦显示了工具提示,调用setTooltip时,它就不再更改 有没有人知道另一种方法?有没有一种方法可以获取viewpart的PopUpulper并使用它?任何帮助都将不胜感激Java 动态更改draw2d地物的工具提示,java,eclipse,Java,Eclipse,我们目前正在使用EclipseDraw2D/GEF作为描述应用程序中流程的信息页面。这基本上由一个大正方形矩阵组成,每个大正方形矩阵包含一个小正方形矩阵。我们最初将所有的正方形都作为GEF对象,但由于显示了大量的正方形,我们发现其缩放效果不太好,视图需要很长时间才能打开。然后我们改变了它,只有大的正方形是图形,然后我们使用paintFigure中的图形绘制小的正方形 我们遇到的问题是,我们仍然希望工具提示根据您悬停在哪个小正方形上而改变。我试图通过添加一个mouseMotionListener并
谢谢。。有趣的问题。因为您在图形中绘制了自己的网格,所以我认为您有两种选择
要动态更改工具提示,可以在父图形中保留工具提示图形的实例。在父图形的构造函数中,创建新的工具提示图形(例如标签),并使用setToolTip()方法将工具提示图形设置为父图形 当数据模型更改时,更新的工具提示文本/图标可以设置为工具提示图。然后您只需再次调用setToolTip(tooltipFigure)方法 您可以使用如下方法:
受保护标签工具提示标签
受保护的void updateToolTip(字符串文本、图像图标){
toolTipLabel.setText(文本);
toolTipLabel.setIcon(图标);
设置工具提示(工具提示标签);
} 可以在父图形的conturctor中调用updateToolTip()方法来初始化工具提示。每次更改数据模型后都可以调用此方法
我在代码中遇到了同样的问题,并用该方法解决了它。在我的代码中,我在parentFigure.paintFigure()方法中调用了updateToolTip()。你能发布代码片段吗?谢谢,我没有想到发布SWT事件。好主意。同时,我已经实施了选项2,这已经足够好了。如果这对你有效,你能把它标记为正确答案吗?它给出了分数-谢谢。:-)