java - eclipse RCP : How and when to correctly unsubscribe a Composite from EventBroker?

标签 java swt eclipse-rcp

在我的自定义组合(继承自 SWT Composite)的构造函数中,我将自己注册为 Eclipse IEventBroker 的事件处理程序。

为了取消订阅处理,我重写了我自己取消订阅的 dispose 方法。

但我现在注意到取消订阅并没有发生,事实上 dispose 方法从未被调用。

取消订阅或避免关闭的 Composite/ViewPart 留下“泄漏”事件处理程序的正确方法是什么?

我使用 Eclipse RCP 3.x(因此没有注释/注入(inject))。在 E4 中,如果我理解正确的话,我可以使用自动事件订阅或@Predestroy 方法。

最佳答案

使用 CompositeaddDisposeListener 添加一个 DisposeListener 并在监听器中取消订阅。

关于java - eclipse RCP : How and when to correctly unsubscribe a Composite from EventBroker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625525/

相关文章:

java - 带有空指针异常的Android setonclicklistener

java - Activiti 用户任务

java - 以编程方式从菜单栏中打开菜单(以编程方式模拟菜单单击以进行 UI 自动化测试)

java - 在 SWT 中处理关闭红色 X 按钮的问题

java - ClassCastException Double 到 Float

java - 如何旋转对象使其始终面向鼠标?

java - 防止下拉列表选项在 SWT 中的 Windows 上滚动

java - 如何正确创建WizardPage(Eclipse平台)

java - Eclipse RCP 颜色选择器

eclipse - E4 不调用我的@PostConstruct-Method