我对Java Swing还比较新,但是我一直没有找到一个优雅的解决方案来解决我的问题,所以我想在这里提出一个问题。
我正在尝试根据当前JPanel中的按钮单击事件将其更改为另一个JPanel。本质上只是隐藏一个面板并显示另一个面板。我觉得这可以在我的MainFrame类中完成,但我不知道如何将其传回该类。无论我尝试什么,似乎都不能如预期地执行,我将非常感激任何支持。谢谢
App.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"));
}
}
如果需要更多信息,请问,谢谢 :)