@Redry

Как реализовать переключение между панелями в java?

Пытаюсь сделать приложение при запуске которого открывается одна страница, а при нажатии на кнопку происходит переключение на другую страницу.
Главный класс:
public class Main {
	public static Frame frame;
	public static JPanel[] panels = {new Panel(), new myAction()};
	public static int panelNumber = 0;
		
	public static void main(String[] args) {					
		frame = new Frame();
		frame.add(panels[panelNumber]);
	}
}

Класс панели:
class Panel extends JPanel {			
	public Panel() {
		JButton btn = new JButton("Start");
		add(btn);
		btn.addActionListener(new ActionListener() {			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				Main.panelNumber = 1;				
			}
		});
	}	
}

Разные страницы представляют собой разные панели. Класс второй панели такой же, только при нажатии на кнопку panelNumber переключается снова на 0. Проблема в том, что переключения между ними не происходит. Хотя если вручную изменить panelNumber в классе Main, то при запуске отобразится только вторая панель. Как можно решить эту проблему?
  • Вопрос задан
  • 634 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MaxLich
java developer
Либо манипулировать видимостью панелей, либо создавать/удалять панели (возможно тут понадобятся методы repaint() и revalidate()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы