Как свернуть окно JFrame из Java? - PullRequest
27 голосов
/ 19 октября 2010

В моем приложении Java у меня есть окно JFrame, как я могу свернуть его из моей программы Java?

Ответы [ 6 ]

49 голосов
/ 19 октября 2010

свернуть с помощью frame.setState(Frame.ICONIFIED)

восстановить с помощью frame.setState(Frame.NORMAL)

13 голосов
/ 24 декабря 2014

Свернуть:

frame.setState(Frame.ICONIFIED);

Другой способ свести к минимуму:

frame.setExtendedState(JFrame.ICONIFIED);

Нормальный размер:

frame.setState(Frame.NORMAL);

Другой способ получения нормального размера:

frame.setExtendedState(JFrame.NORMAL);

Развернуть:

frame.setState(Frame.MAXIMIZED_BOTH);

Другой способ развернуть:

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

Развернуть на весь экран:

GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0];
try { device.setFullScreenWindow((Window) frame); } finally { device.setFullScreenWindow(null); }

См. JFrame документация для получения дополнительной информации.

9 голосов
/ 19 февраля 2013

вы можете сделать это двумя способами

JFrame frame = new JFrame("test");
 frame.setExtendedState(JFrame.ICONIFIED);  // one way


    frame.setState(JFrame.ICONIFIED); // another way
1 голос
/ 13 апреля 2017

Другой подход

frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_ICONIFIED));
0 голосов
/ 12 августа 2014

Вы можете использовать следующий код:

this.setState(YourJFrame.ICONIFIED);

И вы можете использовать этот код, чтобы увеличить его:

this.setExtendedState(MAXIMIZED_BOTH);
0 голосов
/ 12 мая 2014

Если вы пытаетесь кодировать событие компонента, попробуйте код ниже.И убедитесь, что класс, в который включен этот код, расширен классом Frame

private void closeMouseClicked(java.awt.event.MouseEvent evt){                        
    this.setState(1);
}

Или создайте экземпляр класса Frame и вызовите setState (1);

...