SWT按钮上的MouseClick事件在哪里?

时间:2014-07-14 14:12:26

标签: java button swt

我知道这听起来像是一个非常基本的问题,我觉得很尴尬但是......

如何将鼠标单击处理程序添加到SWT按钮?

我检查了什么:

  • 我可以找到大量关于如何添加鼠标按下,鼠标按下或双击处理程序的示例(通过指定MouseListener)。显然,鼠标单击(在同一控件上向下和向上的顺序)与鼠标按下的不同。
  • 我了解通用控件上可能没有点击处理程序,但我在Button control上看到的唯一事件是SelectionListener - 可能是它,但选择听起来更像是“收到焦点”给我而不是“被点击或选中然后用按键调用”。
  • 我找到了related question,其回答基本上说你需要自己实现 - 我觉得有点难以置信。

选择在其他语言/框架中通常称为“OnClick”吗?还是有其他我完全错过的东西?

2 个答案:

答案 0 :(得分:4)

是的,SWT.SelectionSelectionListener正是您所寻找的:

Button button = new Button(shell, SWT.PUSH);
button.addListener(SWT.Selection, new Listener()
{
    @Override
    public void handleEvent(Event event)
    {
        System.out.println("SWT.Selection");
    }
});

在内部添加SelectionListener与上面的代码相同。

它可能被称为选择,因为Button可以是复选框或辐射按钮,具体取决于它的样式。

答案 1 :(得分:1)

SelectionListener是你所追求的。我也是OnClick术语的粉丝,因为它更加切割和干燥;我离题了。

以下是一个很好的示例,您可以看到它是如何工作的: http://www.java2s.com/Tutorial/Java/0280__SWT/UsingSelectionListener.htm