5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

★★Java質問・相談スレッド156★★

761 :デフォルトの名無しさん:2012/09/04(火) 15:53:50.15
swingで作ったアプリで終了時にウィンドウの座標と高さ、幅を保存しようとしています。
なぜか最大化後の座標を記録してしまうので無理矢理な解決策を作りました。

ソース http://ideone.com/jJAlO
お手数ですがソースを見ていただけると助かります。

・componentMovedでウィンドウの座標が変わるたびに座標を記録しています。
・最大化最小化を繰り返していると、最大化の時に、なぜか最大化後の座標で、
 ウィンドウの状態はJFrame.NOMALで来てしまい、最大化後の座標を記録してしまいます。

・とりあえず、100行目付近のwindowStateChangedで、
 座標記録直後に最大化してたら一つ前の座標に戻すようにしました。
 これで何とか最大化後の座標が保存される事はなくなりました。

■質問
■1.最大化後の座標を記録しない方法は他にあるでしょうか。

 自分の作ったとりあえずの解決策はどう見てもナンセンス。
ちゃんとした方法があったら知りたいです。
※ウィンドウが動くたびに座標記録すること自体ナンセンスだとは思いますがorz

■2.ウィンドウが最大化/アイコン化している時に、
 通常に戻す時のウィンドウの座標と幅を取得する方法はあるでしょうか。

 ウィンドウの挙動を見ていると、最大化から通常に戻したり、
アイコンから通常に戻せるので、どこかに座標や幅を記録してると思うのですが、
それを取得する方法を見つけられませんでした。

この座標と幅を取得できれば、ウィンドウが動くたびに座標を記録する必要もないと思うのですが。

1、2どちらでも構いません、ご存知でしたら教えてください。

258 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)