【问题标题】:Where is the MouseClick event on an SWT Button?SWT 按钮上的 MouseClick 事件在哪里?
【发布时间】:2014-09-04 11:44:09
【问题描述】:

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

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

我检查了什么:

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

选择是其他语言/框架中通常所说的“OnClick”吗?或者还有什么我完全错过的?

【问题讨论】:

  • 是的,SWT.SelectionSelectionListener 就是您要找的。它可能被称为选择,因为 Button 可以是复选框或单选按钮,具体取决于其样式。
  • @Baz:太好了,谢谢。把它作为一个答案,我会接受它——希望它会在未来对其他人有所帮助。

标签: java button swt


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    是的 SelectionListener 是你所追求的。我自己也更喜欢OnClick 术语,因为它更加简洁干练;我跑题了。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      相关资源
      最近更新 更多