私はJSplitPaneを持つSwingアプリケーションを持っていますが、ウィンドウが最大化または復元されるとすぐにJSplitPaneの幅を取得したいと考えています。しかし、私は正しい値を得ることができない、それは常にJSplitPaneの前の幅を返します。ウィンドウの状態が変更された後の幅ではありません。Swing windowStateChangedリスナーはコンポーネントの以前のプロパティ値を返します
私はevt.getNewState()
をNORMALとMAXIMIZED_BOTHに使用して検証する必要があることを知っていますが、ここでは関係ありません。最大場合1120
復元され、場合
addWindowStateListener(new java.awt.event.WindowStateListener() {
public void windowStateChanged(java.awt.event.WindowEvent evt) {
System.out.println(jsp.getWidth());
}
});
これは1812
を出力します。私は他のいくつかのコンポーネントでこれを試してみて、同じ結果を得ました。どうすればこの問題を克服できますか?