最小化后JFrame不会重新最大化

时间:2013-02-17 01:27:09

标签: java swing jframe minimize maximize

我无法在最小化后获得自定义JFrame以使其自身正确最大化。这是我经历过的过程:我打开框架,最大化它(下面的代码),最小化它,并从Dock重新打开程序。但是,当我重新打开框架时,它会恢复到原来的尺寸,而不是在最小化它之前它的最大尺寸。

按下最大化和最小化按钮时会调用这些方法。这是一个自定义的JFrame,它是未修饰的,因此我为这些操作设置了按钮。

private void maximizeAction(){
    setExtendedState(getExtendedState() | Frame.MAXIMIZED_BOTH);
}//=================================

private void minimizeAction(){
    setExtendedState(Frame.ICONIFIED);
}//=================================

我尝试在最大化函数中添加setPreferredSize(new Dimension(screenWidth, screenHeight));行,但是当我重新打开它时,这并没有改变帧的行为。

其他可能的影响因素可能是:

  • 框架具有透明度和独特的框架形状,因此我已覆盖paint()命令。但是,我使用继承变量,所以那些应该是准确的。这就像框架已经忘记它有多大。

1 个答案:

答案 0 :(得分:2)

您需要保持之前的扩展状态。

private void minimizeAction(){
    setExtendedState(getExtendedState() | Frame.ICONIFIED);
}//=================================