如何检测 JFrame 窗口最小化和最大化事件



有没有办法让 JFrame 对象的事件侦听器来检测用户何时单击窗口最大化或最小化按钮?

我使用 JFrame 对象,如下所示:

JFrame frame = new JFrame("Frame");

您可以使用

WindowStateListener。如何编写窗口侦听器教程演示如何创建与窗口相关的事件处理程序。

  1. 创建帧并添加侦听器:

JFrame frame = new JFrame();
frame.addWindowStateListener(new WindowStateListener() {
   public void windowStateChanged(WindowEvent arg0) {
      frame__windowStateChanged(arg0);
   }
});

  1. 实现侦听器:

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");
   }
}

是的,您可以通过实现WindowListener方法(即 windowIconified(WindowEvent e) by windowDeiconified(WindowEvent e) .

有关更多详细信息,请访问此

最新更新