像 keyup/down 这样的事件监听器是不是需要在 java 中处理?

Posted

技术标签:

【中文标题】像 keyup/down 这样的事件监听器是不是需要在 java 中处理?【英文标题】:Does event listeners like keyup/down need to be disposed in java?像 keyup/down 这样的事件监听器是否需要在 java 中处理? 【发布时间】:2019-07-05 15:54:46 【问题描述】:

我在我的combobox 上创建了一个事件监听器

 java SWT as: 

cbInstrumentType.addListener(SWT.KeyUp, (event) -> );

keyup/ keydown/ keyPressed/ selectionListener and others 这样的听众需要被移除或处理掉吗?

如果是,怎么做?

【问题讨论】:

您可以像调用 removeListener 一样简单地删除侦听器。我不知道 swt,但我假设一旦您处理/停止使用您为其创建侦听器的元素,所有这些侦听器也将被处理。是否应该删除它们取决于您的应用程序的逻辑,在大多数情况下您不需要。 【参考方案1】:

在释放控件时不需要移除侦听器。

控件 dispose 会自动删除所有侦听器,因为它会删除包含侦听器列表的事件表。请参阅Widget.releaseWidget 方法。

【讨论】:

【参考方案2】:

每当我们在 swt 中关闭部件控件 Dialog 时,都会自动使用 Dialog 处理侦听器。

【讨论】:

这通常不是必需的。控制配置已经处理了这个。

以上是关于像 keyup/down 这样的事件监听器是不是需要在 java 中处理?的主要内容,如果未能解决你的问题,请参考以下文章

vue中的键盘事件

vue--阻止冒泡、默认行为、键盘事件

Python 键盘事件的监听为啥像这样总是出现未响应

如何检查动态附加的事件监听器是不是存在?

springboot~ EventListener事件监听的使用

使用内联onevent侦听器记录事件