我的应用程序包含两个JPanel
,它们将成为MainPanel
上的卡片。代码如下。出于某种原因,面板不会出现。我非常感谢你的帮助:)。
MainPanel.java:
public class MainPanel extends JPanel{
private final static String PANEL1 = "PANEL1";
private final static String PANEL2 = "PANEL2";
private static Panel1 panel1;
private static Panel2 panel2;
//private static CardLayout layout;
public MainPanel() {
super(new CardLayout());
panel1 = new Panel1();
panel2 = new Panel2();
getLayout().addLayoutComponent(PANEL1, panel1);
getLayout().addLayoutComponent(PANEL2, panel2);
((CardLayout) getLayout()).show(this, PANEL1);
}
}
Main.java:
public class Main {
private static JFrame window;
public static void main(String[] args) {
window = new JFrame();
window.setContentPane(new MainPanel());
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(600,400);
window.setVisible(true);
}
}
答案 0 :(得分:5)
此
getLayout().addLayoutComponent(PANEL1, panel1);
getLayout().addLayoutComponent(PANEL2, panel2);
应该是
add(panel1, PANEL1);
add(panel2, PANEL2);
有关详细信息,请参阅How to Use CardLayout。