ウィンドウの位置、サイズ、最大化されているかどうかを記憶する JFrame を作成しようとしています。windowClosing イベントに WindowListener を使用し、その境界を設定に保存するのは十分に簡単なはずです。
これを機能させるには (以下の設定に従って)、JFrame が最大化されている間 (MAXIMIZED_BOTH ExtendedState)、JFrame の通常の (NORMAL ExtendedState) 境界を抽出する必要があります。これはまったく可能ですか?元に戻すために、通常の境界がどこかに保存されていることを考慮してください。
//...
addWindowListener(new WindowListener() {
///...
@Override
public void windowClosing(WindowEvent e) {
prefs.putBoolean("win_max",win_max);
if(winmax)
{
//win_x=?
//win_y=?
//win_w=?
//win_h=?
}
else
{
win_x=getX();
win_y=getY();
win_w=getWidth();
win_h=getHeight();
}
prefs.putInt("win_x",win_x);
prefs.putInt("win_y",win_y);
prefs.putInt("win_w",win_w);
prefs.putInt("win_h",win_h);
}
});
//...
これが本当に簡単な質問である場合は申し訳ありません。どんな助けでも大歓迎です。