【问题标题】:Draw2d: How to get a tooltip to stay longerDraw2d:如何让工具提示停留更长时间
【发布时间】:2016-02-10 19:41:09
【问题描述】:

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

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

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

【问题讨论】:

    标签: tooltip draw2d


    【解决方案1】:

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

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

    优点是只要我的光标在图中,提示就会保持不变。无论画布的比例如何,工具提示的大小也是相同的(这使我无法简单地将图形添加到画布并调用 setVisible() 和 setLocation())。

    缺点是您必须自己完成大部分工作(ToolTipHelper 本来应该做的工作)。这包括在一些不寻常的情况下隐藏工具提示(例如,在我的情况下,当鼠标仍在图形上时切换选项卡)以及对工具提示位置进行编码以不跑出屏幕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多