2

最小化された後、カスタム JFrame を正しく最大化するのに問題があります。私が行ったプロセスは次のとおりです。フレームを開き、最大化 (以下のコード)、最小化して、ドックからプログラムを再度開きます。ただし、フレームを再度開くと、最小化する前の最大サイズではなく、元のサイズに戻ります。

これらのメソッドは、最大化ボタンと最小化ボタンが押されたときに呼び出されます。これはカスタム JFrame であり、装飾されていないため、これらのアクション用のボタンを作成しました。

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

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

最大化機能に行を追加してみましたsetPreferredSize(new Dimension(screenWidth, screenHeight));が、フレームを再度開いたときの動作は変わりませんでした。

その他の考えられる要因としては、次のようなものがあります。

  • フレームに透明度があり、フレームの形が独特なので、paint()コマンドをオーバーライドしました。ただし、継承された変数を使用しているため、それらは正確である必要があります。フレームが大きかったことを忘れているようです。
4

1 に答える 1

2

以前の拡張状態を維持する必要があります。

private void minimizeAction(){
    setExtendedState(getExtendedState() | Frame.ICONIFIED);
}//=================================
于 2013-02-17T02:20:03.353 に答える