如何从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);