如何使用 SWT StyledText 显示悬停弹出窗口

How to show a hover popup with SWT StyledText

我正在使用 SWT 的 StyledText,我想知道如何检测用户是否将鼠标悬停在某个词上超过 3 秒。我的意思的一个例子是,当您将鼠标悬停在文本上时,Eclipse 如何显示一个弹出窗口。

我相信这些是当您将鼠标悬停在文本上时出现的工具提示,例如在 Java 编辑器中。有关实际生产代码如何使用 eclipse 工具提示的示例,请参阅 here for tooltip doc and here

您可以使用 'mouse track listener' 来监听鼠标悬停事件。但是你不能为此设置悬停时间:

control.addMouseTrackListener(MouseTrackListener)

MouseTrackListener 有三个事件 - mouseEntermouseExitmouseHover.

虽然您可以自己实现文本悬停,但使用 MouseTrackListener 就像 Greg, you can also use the JFace TextViewer 所建议的那样。

TextViewer 为文本悬停提供了 higher-level 抽象。使用它的 setTextHover() 方法,您可以设置一个回调,当某个区域的文本悬停应该显示时会收到通知。

这也是 Eclipse 文本编辑器使用的方法。