Пример сценария для вашего вопроса:
У вас может быть JFrame
, который является отправной точкой вашего приложения, т. Е. Имеет один экземпляр, основной метод, общую инициализацию компонентов и т. Д. Вы говорите, что хотите изменить окна . Пусть эти окна будут разными JPanel
объектами, каждый из которых назначен для работы над разными задачами. Вы можете добавить эти панели в ваш основной кадр. А изменение этих панелей при определенных условиях сделает ваше приложение способным перемещаться между этими панелями / окнами. Так как же это сделать? Взгляните на CardLayout
и используйте его для перемещения между вашими предопределенными панелями на их рамке контейнера.
Какой класс слушателей подходит для этого сценария?
Взгляните на этот пост , я продемонстрировал CardLayout
использование через ActionListener
.