多个 swt 按钮,相同的侦听器 [重复]

Posted

技术标签:

【中文标题】多个 swt 按钮,相同的侦听器 [重复]【英文标题】:Multiple swt buttons, same listener [duplicate] 【发布时间】:2014-12-02 01:16:32 【问题描述】:

我有一个想要在 SWT 中开发的应用程序,我想知道是否有可能为多个按钮使用单个选择侦听器。例如,我有一个包含“打开”菜单项的菜单栏,还有一个工具栏,其中有一个打开按钮,我可以为两者使用相同的侦听器吗?如果有可能,我很乐意看到一个简单的例子,如果没有可能做上述事情,我会很高兴看到一个解释。

【问题讨论】:

你自己怎么没试过? 将监听器定义为变量,用于所有按钮。 感谢@Baz 添加上述问题,并寻求帮助,它有效:) @Baz 我已经尝试了几个 SWT 按钮的监听器。当对多个按钮使用单个侦听器时,您如何理解事件来自哪个按钮?在侦听器方法中没有得到任何指示此信息的参数。 @iamcrypticcoder 您可以使用e.widget 获取源按钮,如下所示:***.com/a/24949328 【参考方案1】:

通常有可能...您的侦听器必须检查事件的源属性以确定事件是从哪里触发的。

如果您将侦听器附加到不同的对象,您可能希望实现一个通用的Listener 而不是特定于对象的侦听器。

【讨论】:

以上是关于多个 swt 按钮,相同的侦听器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Java SWT 创建侦听器以更改标签的文本并返回数据

如何为多个 Jbutton 编写动作监听器

SWT 表 - 复选框/突出显示侦听器

具有复杂泛型的 SWT 侦听器

向 SWT.MouseUp 的 Shell 添加侦听器不起作用

将鼠标侦听器添加到 java swt 图像