我正在使用SWT' StyledText
,我想知道如果用户将单词悬停在单词上超过3秒,我将如何检测。我的意思是一个例子,当你将鼠标悬停在文本上时,Eclipse有一个弹出窗口显示。
答案 0 :(得分:3)
您可以使用鼠标轨道监听器'监听鼠标悬停事件。但是,您无法为此设置悬停时间:
control.addMouseTrackListener(MouseTrackListener)
MouseTrackListener
有三个事件 - mouseEnter
,mouseExit
和mouseHover
。
答案 1 :(得分:3)
虽然您可以使用Greg建议的MouseTrackListener
来自行实现文字悬停,但您也可以使用JFace TextViewer
。
TextViewer
为文本悬停提供了更高级别的抽象。使用setTextHover()
方法,您可以设置回调,当应显示特定区域的文本悬停时,会发出回调信息。
这也是Eclipse文本编辑器使用的方法。
答案 2 :(得分:0)