У меня есть приложение Swing с JSplitPane, и я хочу получить ширину JSplitPane, как только окно будет максимально или восстановлено. Но я не могу получить правильное значение, оно всегда возвращает предыдущую ширину JSplitPane. Не изменяется ширина после состояния окна.Swing windowStateChanged listener возвращает предыдущие значения свойств компонентов
Я знаю, что я должен проверить, используя 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
если развернуто. Я также попробовал это с несколькими другими компонентами и получил тот же результат. Как я могу решить эту проблему?