Как обнаружить окно JFrame минимизировать и максимизировать события?

Есть ли способ, чтобы прослушиватель событий объекта JFrame обнаруживал, когда пользователь нажимает на кнопку «Развернуть» или «Развернуть»?

Я использую объект JFrame следующим образом:

JFrame frame = new JFrame("Frame");

 trashgod22 июн. 2012 г., 03:26
У вас есть конкретная цель?
 trashgod22 июн. 2012 г., 03:57
Методыvalidate() and repaint () `будет вызываться автоматически при изменении размера фрейма, но вам может потребоваться обновить другие структуры данных; смотрите такжеAnimationTest.
 Markel Mairs22 июн. 2012 г., 03:40
Да, мне нужно знать, когда размер окна изменяется, чтобы я мог перерисовать компоненты внутри рамки.

Ответы на вопрос(3)

Да, вы можете сделать это с помощью & quot; WindowListener & quot; методы, а именно windowIconified (WindowEvent e) с помощью windowDeiconified (WindowEvent e). Для более подробной информации посетитеэтот

Решение Вопроса

Ты можешь использоватьWindowStateListener. Как написать оконные слушатели Учебник демонстрирует, как создавать связанные с окном обработчики событий.

Create a frame and add a listener:

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

Implement the listener:

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

Ваш ответ на вопрос