Я просматриваю устаревшее приложение, использующее Swing, и я изо всех сил пытаюсь понять, как меняются экраны, когда пользователь нажимает кнопку. Одна из причин, по которой я не могу понять это, заключается в том, что я впервые использую Swing. Я прочитал книгу и получил основы, но все еще борюсь.
По сути, экран, на который я смотрю, имеет JSplitPane, у которого есть несколько кнопок быстрого доступа слева и пустая панель справа. Когда я нажимаю кнопку, правая боковая панель заполняется другим экраном в зависимости от нажатой кнопки.
Просматривая код, я где-то ожидал, что будет что-то, что вызывает метод setVisible() в зависимости от того, какая кнопка нажата.
Метод actionPerformed для каждой из кнопок быстрого доступа выглядит примерно так:
void shortCutBtn_actionPerformed(ActionEvent e) {
propertyChangeListeners.firePropertyChange("selectedShortCut", previousShortCutSel, currentShortCutSel);
mainPanel.updateUI();
}
Я просмотрел большую часть кода и пришел к выводу, что приведенный выше код вызывает переключение кадров, но я не понимаю, как это происходит.
Каждый экран идентифицируется числовой константой. В приведенном выше примере кода предыдущаяShortCutSel и предыдущаяShortCutSel относятся к числовому значению, которое представляет экран отдельных экранов.
Я пытался найти документацию о том, как работает updateUI(), но я потерялся. Как приведенное выше приводит к обновлению содержимого правой панели JSplitPanel новым экраном?