在鼠标上点击事件点击SWT?

时间:2012-01-11 22:54:18

标签: java mouselistener swt

在SWT中,对于MouseListener接口,可用的方法是mouseUp()mouseDown()mouseDoubleClick()

如何根据用户点击触发事件?

我们可以通过mouseUp()mouseDown()的结合来实现这一点,但是在SWT中没有像mouseClick()方法这样的简单解决方案吗?

感谢。

2 个答案:

答案 0 :(得分:2)

如何定义鼠标单击事件?鼠标按下然后鼠标向上,没有鼠标离开控件的边界(否则它将是拖动开始),对吧?根据该定义,鼠标单击事件不能与单个点相关联,而是与区域(1)或控件(2)相关联。第一种情况不适合通用SWT事件,它只有一个位置(x和y),你还需要额外的代码来检查点击区域是否在你的图像中。在第二种情况下,只能使用控件(而不是位置)定义鼠标单击,该事件对您来说无用。

当您实施自己的单击检测时,您可以触发您喜欢的控件上的任何事件,甚至是那些未由SWT定义的事件。

答案 1 :(得分:0)

要对按钮上的鼠标单击事件作出反应,您可以使用SelectionListener,这样的事情可以解决这个问题:

button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            super.widgetSelected(e);
            System.out.println("click!");
        }
    });