次のコードがあります。
double gridWidth=columnNumber*(IMAGE_WIDTH_NORMAL+10)+(columnNumber+2)*10;
double screenWidth=Toolkit.getDefaultToolkit().getScreenSize().getWidth()*0.8;
screenWidth=(gridWidth>=screenWidth) ? screenWidth : gridWidth;
double gridHeight=(rules.size()+2)*(IMAGE_HEIGHT_NORMAL+10)+rules.size()*20+(rules.size()+2)*10;
double screenHeight=Toolkit.getDefaultToolkit().getScreenSize().getHeight()*0.8;
screenHeight=(gridHeight>=screenHeight) ? screenHeight : gridHeight;
setSize((int)screenWidth, (int)screenHeight);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(screenSize.width/2-getWidth()/2, screenSize.height/2-getHeight()/2);
setMaximumSize(new Dimension((int)gridWeight, (int)gridHeight));
setVisible(true);
このコードは次のことを行います。フレームの推奨される幅と高さを計算し、必要なサイズ(幅と高さの80%)よりも大きい場合、アプリケーションは別のサイズを設定します。しかし、ユーザーがjframeの「フルスクリーン」アイコンをクリックして好みのサイズ(setMaximumSize()メソッド)でjframeを最大化できるようにしたいのですが、コードが機能しません。常にウィンドウが私のラップトップの全画面に最大化されます!どうすれば修正できますか?