我必须将哪种监听器添加到 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 */
}
});
关于java - 通过 setVisible 隐藏/显示的 JFrame 的窗口事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/622814/