Я новичок (я sh) в Java Swing, но мне не удалось найти элегантное решение моей проблемы, поэтому я решил поднять вопрос здесь.
Я пытаюсь изменить текущую JPanel на другую JPanel на основе события нажатия кнопки из текущей JPanel. По сути, просто скрывая одну панель и отображая другую. Я чувствую, что это может быть сделано в моем классе MainFrame, однако я не уверен, как сообщить об этом обратно. Ничто из того, что я пытаюсь сделать, кажется, не работает так, как хотелось бы. Спасибо
Приложение. java
public static void main(final String[] args) {
MainFrame mf = new MainFrame();
}
MainFrame. java
public class MainFrame extends JFrame {
public MainFrame(){
setTitle("Swing Application");
setSize(1200, 800);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setVisible(true);
// First Page Frame switch
getContentPane().add(new FirstPage());
}
}
FirstPage. java
public class FirstPage extends JPanel {
public FirstPage() {
setVisible(true);
JButton clickBtn = new JButton("Click");
clickBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
// Change to SecondPage JPanel here.
}
});
add(clickBtn);
}
}
SecondPage . java
public class SecondPage extends JPanel {
public SecondPage() {
setVisible(true);
add(new JLabel("Welcome to the Second Page"));
}
}
Любая дополнительная информация, пожалуйста, спросите спасибо:)