32

在我的 Java 应用程序中,我有一个 JFrame 窗口,如何从我的 Java 程序中最小化它?

4

6 回答 6

54

最小化frame.setState(Frame.ICONIFIED)

恢复frame.setState(Frame.NORMAL)

于 2010-10-19T04:33:43.397 回答
13

最小化:

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文档

于 2014-12-24T20:15:35.310 回答
12

您可以通过两种方式做到这一点:

JFrame frame = new JFrame("Test");

frame.setExtendedState(JFrame.ICONIFIED); // One way
frame.setState(JFrame.ICONIFIED); // Another way
于 2013-02-19T09:08:40.860 回答
1

另一种方法

frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_ICONIFIED));
于 2017-04-13T13:04:28.190 回答
0

您可以使用以下代码:

this.setState(YourJFrame.ICONIFIED);

您可以使用此代码将其最大化:

this.setExtendedState(MAXIMIZED_BOTH);
于 2014-08-12T09:21:42.523 回答
-1

如果您尝试为组件的事件编写代码,请尝试以下代码。并确保包含此代码的类由 Frame 类扩展

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

或者创建一个 Frame 类的实例并调用 setState(1);

于 2014-05-12T14:17:09.253 回答