我需要添加哪种监听器JFrame
来检测它何时被隐藏或显示setVisible
?
我尝试使用一个WindowListener
和windowOpened
和windowClosed
方法,但它们仅用于工作第一次被打开的窗口(windowOpened
()或分别在关闭窗口使用dispose方法windowClosed
).这对我来说还不够.我希望每次窗口在屏幕上可见和不可见时都会收到通知setVisible
.
是否有标准的Swing方法来实现这一点,或者我是否需要自己创建(通过,比方说,覆盖setVisible
方法)?
试试吧java.awt.event.ComponentListener
.您可以使用此代码添加一个(其中window是其名称JFrame
):
window.addComponentListener(new ComponentAdapter() { public void componentHidden(ComponentEvent e) { /* code run when component hidden*/ } public void componentShown(ComponentEvent e) { /* code run when component shown */ } });