0

我想编写一个监视其他活动的组件,但是当组件的窗口关闭时,它的侦听器将被删除。

我不想多次编写此删除代码,但希望组件自己处理它。(我该怎么做?

谢谢!

4

2 回答 2

2

该类JFrame(即窗口)有一个processWindowEvent回调,它接受一个名为Windowevent

注册这个回调,如果参数是WINDOW_CLOSED你可以调用里面的删除代码。

最后,删除代码只写一次(如你所愿)。

有关更多详细信息,请参阅API

更新:另请参阅

于 2009-01-30T16:31:52.887 回答
1

我会写这样的东西

class ListenToWindow
extends WindowAdapter
{
MyInternalFrame frame;

public void windowClosed(event)
   {
   this.frame.removeAllTheRequiredListeners();
   }
}

(...)
JFrame window;
MyInternalFrame frame;
(...)
window.addWindowLister(new ListenToWindow(frame));
(...)
于 2009-02-10T22:44:20.933 回答