我无法在最小化后获得自定义JFrame以使其自身正确最大化。这是我经历过的过程:我打开框架,最大化它(下面的代码),最小化它,并从Dock重新打开程序。但是,当我重新打开框架时,它会恢复到原来的尺寸,而不是在最小化它之前它的最大尺寸。
按下最大化和最小化按钮时会调用这些方法。这是一个自定义的JFrame,它是未修饰的,因此我为这些操作设置了按钮。
private void maximizeAction(){
setExtendedState(getExtendedState() | Frame.MAXIMIZED_BOTH);
}//=================================
private void minimizeAction(){
setExtendedState(Frame.ICONIFIED);
}//=================================
我尝试在最大化函数中添加setPreferredSize(new Dimension(screenWidth, screenHeight));
行,但是当我重新打开它时,这并没有改变帧的行为。
其他可能的影响因素可能是:
paint()
命令。但是,我使用继承变量,所以那些应该是准确的。这就像框架已经忘记它有多大。答案 0 :(得分:2)
您需要保持之前的扩展状态。
private void minimizeAction(){
setExtendedState(getExtendedState() | Frame.ICONIFIED);
}//=================================