Swing/CardLayout

CardLayout example

Soul-Learner 2014. 5. 29. 18:30

JPanel 에 CardLayout을 설정하고 사용하는 예

   

   JPanel cardPanel;

    CardLayout cardLayout;

    

    // JPanel 에 CardLayout 을 설정하고 카드처럼 사용될 콤포넌트를 추가한다

    private void initCardPanel() {

        

        cardLayout = new CardLayout();

        cardPanel = new JPanel(cardLayout);

        

        JPanel p1 = new JPanel();

        p1.setBackground(Color.red);

        p1.setBounds(0, 0, 100, 100);

        

        JPanel p2 = new JPanel();

        p2.setBackground(Color.green);

        p2.setBounds(0, 0, 100, 100);

        

        JPanel p3 = new JPanel();

        p3.setBackground(Color.blue);

        p3.setBounds(0, 0, 100, 100);

        

        JPanel p4 = new JPanel();

        p4.setBackground(Color.yellow);

        p3.setBounds(0, 0, 100, 100);

        

        cardPanel.add(p1,"red");

        cardPanel.add(p2,"green");

        cardPanel.add(p3,"blue");

        cardPanel.add(p4,"yellow");


        cardPanel.setBounds(0,0,200,200);

        getContentPane().add(cardPanel);

    }


    // 버튼을 누르면 카드가 교체된다

    private void btnBlueActionPerformed(java.awt.event.ActionEvent evt) {                                        

        cardLayout.show(cardPanel, "blue");

    }                                       


    private void btnRedActionPerformed(java.awt.event.ActionEvent evt) {                                       

        cardLayout.show(cardPanel, "red");

    }                                      


    private void btnGreenActionPerformed(java.awt.event.ActionEvent evt) {                                         

        cardLayout.show(cardPanel, "green");

    }                                        


    private void btnYellowActionPerformed(java.awt.event.ActionEvent evt) {                                          

        cardLayout.show(cardPanel, "yellow");

    }