Draw2d:如何让工具提示保持更长时间

时间:2016-02-10 19:41:10

标签: tooltip draw2d

我有一个使用Figure.setToolTip()创建工具提示的程序。一切都很好,除了工具提示在几秒钟后消失。工具提示可以包含很多信息,我希望工具提示保持更长时间(甚至无限期,直到光标退出图形)。

我还没有在ToolTipHelper类中找到任何处理此问题的方法或字段。这甚至可能吗?

我能想到的唯一其他工作就是在mouseEnter()上显示一个带有工具提示的图形,并将其隐藏在mouseExited()上。但我更愿意使用内置的工具提示功能。

1 个答案:

答案 0 :(得分:1)

我最终使用PopUpHelper,它是ToolTipHelper的超类。我只是在图中和mouseEntered(MouseEvent arg0)和mouseExited(MouseEvent arg0)上添加了一个名为tooltipHelper.show()和tooltipHelper.hide()的MouseMotionListener。

通过在PopUpHelper中调用getLightweightSystem()。setContents(IFigure)和setShellBounds(int,int,int,int),我可以确定要显示的内容以及显示提示的位置。

只要我的光标位于图中,专业人员就会停留。无论画布的比例如何,工具提示的大小也相同(这使我无法简单地将图添加到画布并调用setVisible()和setLocation())。

缺点是你必须自己完成大部分工作(ToolTipHelper的工作是这样做的)。这包括将工具提示隐藏在一些不寻常的实例中(例如,在我的情况下,当鼠标仍然在图上时切换标签)并将工具提示位置编码为不在屏幕上运行。