Draw2d:如何获取工具提示以停留更长时间



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

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

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

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

通过在 PopUpHelper 中调用 getLightweightSystem((.setContent(IFigure( 和 setShellBounds(int,int,int,int(,我可以确定要显示的内容以及在哪里显示提示。

优点是只要我的光标在图形内,尖端就会停留。 无论画布的比例如何,工具提示的大小也相同(这阻止了我简单地向画布添加图形并调用 setVisible(( 和 setLocation(((。

缺点是你必须自己完成大部分工作(ToolTipHelper应该做的工作(。 这包括在某些不寻常的情况下隐藏工具提示(例如,在我的情况下,在鼠标仍在 Figure 上时切换选项卡(以及将工具提示位置编码为不离开屏幕。

最新更新