Я создаю приложение установки.
У меня есть основной класс, который инициализирует приложение; которая имеет переменную JFrame и 2 JPanel, а именно panelX и panelY. Этот основной класс создает JFrame и добавляет к нему panelX и panelY. В этих панелях у панели Y есть три кнопки J (а именно Back, Next и Quit). Панель Y остается такой же, как и в течение всего процесса. Где panelX изменяет свое содержимое, как в случае нажатия кнопки «Далее» и «Назад».
У меня также есть несколько других классов. У этих классов есть метод, который возвращает JPanel с добавлением к ним различных компонентов.
В моем коде при нажатии кнопки «Далее» и «Назад» выполняются следующие шаги
1) Я вызываю метод removeAll (), чтобы удалить все компоненты панели X
2) panelX имеет нулевое значение.
3) Вызывается соответствующий метод вышеуказанных классов, который возвращает JPanel. это
возвращенный JPanel назначен на panelX.
Ex.
panelX.removeAll();
panelX=null;
panelX=getNextPanel();
4) после вышеуказанного шага; Я вызываю repaint (); и подтвердите метод на панели X.
Ex.
panelX.repaint();
panelX.validate();
Проблема в том, что когда я нажимаю кнопку «Далее», она показывает правильную панель, но когда я нажимаю кнопку «Назад» после двухкратного нажатия кнопки «Далее» и перемещения указателя мыши на панели X, на ней также отображаются компоненты предыдущей назначенной панели.
Итак, скажите, пожалуйста, друзья, как я решаю эту проблему.
Спасибо!