我想检测到对Draw2D图形的三击。
这将允许第一次单击以选择Draw2D图,第二次单击将扩展所选内容,第三次单击将使其进一步展开。
SWT在其MouseEvent中提供单击计数。但是,Draw2D有自己的MouseEvent,它不公开单击计数。[见日食虫516272。]
我可以检测到第三个鼠标点击作为一个独立的事件,并确定它是否很快发生后,最后双击。
我想尊重操作系统的设置多点点击速度。在AWT/Swing中,我可以使用Toolkit.getDefaultToolkit().getDesktopProperty("awt.multiClickInterval")获得最大间隔。但是,我希望避免耦合到SWT应用程序中的AWT类。
有办法通过SWT或Draw2D APIs获得多点间隔吗?
发布于 2017-05-10 18:42:26
SWT的显示类提供了一个方法getDoubleClickTime()
public int getDoubleClickTime()返回两次鼠标单击之间最长的持续时间(以毫秒为单位),这些单击将被基础操作的system.getDoubleClickTime()视为双击:
例如:
int doubleClickTime = Display.getDefault().getDoubleClickTime();您可以跟踪自双击以来的时间,并在下一个候选鼠标单击,看看它是否小于该值。
https://stackoverflow.com/questions/43850134
复制相似问题