3

私のアプリケーションは、JPanel上のカードになる2つので構成されてい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);
    }

}
4

1 に答える 1

6

これ

getLayout().addLayoutComponent(PANEL1, panel1);
getLayout().addLayoutComponent(PANEL2, panel2);

する必要があります

add(panel1, PANEL1);
add(panel2, PANEL2);

詳細については、CardLayoutの使用方法を参照してください。

于 2012-08-29T17:52:13.927 に答える