如何从Java最小化JFrame窗口?

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

使用frame.setState(Frame.ICONIFIED)最小化

使用frame.setState(Frame.NORMAL)恢复

最小化:

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

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

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

另一种方法

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

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

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

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

您可以使用以下代码:

 this.setState(YourJFrame.ICONIFIED); 

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

 this.setExtendedState(MAXIMIZED_BOTH);