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

时间:2016-01-19 01:08:45

标签: java swt mousehover styledtext

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

3 个答案:

答案 0 :(得分:3)

您可以使用鼠标轨道监听器'监听鼠标悬停事件。但是,您无法为此设置悬停时间:

control.addMouseTrackListener(MouseTrackListener)

MouseTrackListener有三个事件 - mouseEntermouseExitmouseHover

答案 1 :(得分:3)

虽然您可以使用Greg建议的MouseTrackListener来自行实现文字悬停,但您也可以使用JFace TextViewer

TextViewer为文本悬停提供了更高级别的抽象。使用setTextHover()方法,您可以设置回调,当应显示特定区域的文本悬停时,会发出回调信息。

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

答案 2 :(得分:0)

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