有没有办法让JFrame对象的事件监听器检测用户何时单击窗口最大化或最小化按钮?
使用JFrame对象如下:
JFrame frame = new JFrame("Frame");
答案 0 :(得分:12)
您可以使用WindowStateListener。 How to Write Window Listeners教程演示了如何创建与窗口相关的事件处理程序。
答案 1 :(得分:5)
JFrame frame = new JFrame();
frame.addWindowStateListener(new WindowStateListener() {
public void windowStateChanged(WindowEvent arg0) {
frame__windowStateChanged(arg0);
}
});

public void frame__windowStateChanged(WindowEvent e){
// minimized
if ((e.getNewState() & Frame.ICONIFIED) == Frame.ICONIFIED){
_print("minimized");
}
// maximized
else if ((e.getNewState() & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH){
_print("maximized");
}
}

答案 2 :(得分:4)
是的,您可以通过WindowListener
实施windowIconified(WindowEvent e)
方法windowDeiconified(WindowEvent e)
来实现这一目标。
有关详细信息,请访问this