0
我有一個Swing應用程序和一個JSplitPane,並且我想在窗口最大化或恢復時立即獲取JSplitPane的寬度。但我似乎無法得到正確的值,它總是返回JSplitPane的前一個寬度。不是窗口狀態改變後的寬度。Swing windowStateChanged監聽器返回組件的先前屬性值
我知道我必須使用evt.getNewState()
來驗證NORMAL和MAXIMIZED_BOTH,但這裏沒關係。
addWindowStateListener(new java.awt.event.WindowStateListener() {
public void windowStateChanged(java.awt.event.WindowEvent evt) {
System.out.println(jsp.getWidth());
}
});
此打印出1812
如果恢復和1120
如果最大化。我也嘗試了一些其他組件,並以相同的結果結束。我怎樣才能克服這個問題?