像 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 中处理?的主要内容,如果未能解决你的问题,请参考以下文章