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

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

我检查了什么:

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

  • 选择是否在其他语言/框架中通常称为“OnClick”?还是我完全想念的其他东西?

    最佳答案

    是的,您要寻找的是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可以是复选框或单选按钮,具体取决于其样式。

    10-08 19:21