如何使用 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
有三个事件 - mouseEnter
、mouseExit
和 mouseHover
.
虽然您可以自己实现文本悬停,但使用 MouseTrackListener
就像 Greg, you can also use the JFace TextViewer
所建议的那样。
TextViewer
为文本悬停提供了 higher-level 抽象。使用它的 setTextHover()
方法,您可以设置一个回调,当某个区域的文本悬停应该显示时会收到通知。
这也是 Eclipse 文本编辑器使用的方法。
我正在使用 SWT 的 StyledText
,我想知道如何检测用户是否将鼠标悬停在某个词上超过 3 秒。我的意思的一个例子是,当您将鼠标悬停在文本上时,Eclipse 如何显示一个弹出窗口。
我相信这些是当您将鼠标悬停在文本上时出现的工具提示,例如在 Java 编辑器中。有关实际生产代码如何使用 eclipse 工具提示的示例,请参阅 here for tooltip doc and here。
您可以使用 'mouse track listener' 来监听鼠标悬停事件。但是你不能为此设置悬停时间:
control.addMouseTrackListener(MouseTrackListener)
MouseTrackListener
有三个事件 - mouseEnter
、mouseExit
和 mouseHover
.
虽然您可以自己实现文本悬停,但使用 MouseTrackListener
就像 Greg, you can also use the JFace TextViewer
所建议的那样。
TextViewer
为文本悬停提供了 higher-level 抽象。使用它的 setTextHover()
方法,您可以设置一个回调,当某个区域的文本悬停应该显示时会收到通知。
这也是 Eclipse 文本编辑器使用的方法。