如何从Java最小化JFrame窗口?

时间:2010-10-19 04:29:06

标签: java swing jframe minimize

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

6 个答案:

答案 0 :(得分:49)

最小化frame.setState(Frame.ICONIFIED)

使用frame.setState(Frame.NORMAL)

恢复

答案 1 :(得分: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 documentation

答案 2 :(得分:9)

你可以用两种方式做到这一点

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


    frame.setState(JFrame.ICONIFIED); // another way

答案 3 :(得分:1)

另一种方法

frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_ICONIFIED));

答案 4 :(得分:-1)

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

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

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

答案 5 :(得分:-1)

您可以使用以下代码:

this.setState(YourJFrame.ICONIFIED);

您可以使用此代码来最大化它:

this.setExtendedState(MAXIMIZED_BOTH);