我已经编写了一个组件(JPanel),用于我无法控制的大型项目中。我的组件可以根据用户的想法进行实例化和关闭,但是当它即将关闭时我不会收到通知。问题是我订阅了一些活动:
Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.WINDOW_EVENT_MASK);
理想情况下,当我的组件不再使用时,我想取消注册这些事件。
问题1)我认为我的组件在获得工具包取消订阅之前不会获得GC - 这是正确的吗?
问题2)有什么方法可以检查我的组件是否已不再使用? (被通知会很好,但轮询可能没问题)