//CardDemo //Demonstrates the Card Layout Manager //Andy Harris, 04/00 import java.awt.*; import java.applet.*; import java.awt.event.*; public class CardDemo extends Applet implements ActionListener{ //Control panel components Panel pnlControls = new Panel(); Button btnFirst = new Button("|<<"); Button btnPrev = new Button("<=="); Button btnC = new Button("C"); Button btnNext = new Button("==>"); Button btnLast = new Button(">>|"); //The Cards Panel pnlCards = new Panel(); CardLayout stack = new CardLayout(); Label lblA = new Label("A"); Label lblB = new Label("B"); Label lblC = new Label("C"); Label lblD = new Label("D"); Label lblE = new Label("E"); public void init(){ //set up the main page this.setLayout(new BorderLayout()); this.add(pnlControls, BorderLayout.SOUTH); this.add(pnlCards, BorderLayout.CENTER); //set up the control panel pnlControls.setFont(new Font("SansSerif", Font.BOLD, 20)); pnlControls.setLayout(new FlowLayout()); pnlControls.add(btnFirst); pnlControls.add(btnPrev); pnlControls.add(btnC); pnlControls.add(btnNext); pnlControls.add(btnLast); //register actionListeners btnFirst.addActionListener(this); btnPrev.addActionListener(this); btnC.addActionListener(this); btnNext.addActionListener(this); btnLast.addActionListener(this); //set up the card panel pnlCards.setLayout(stack); pnlCards.setFont(new Font("SansSerif", Font.BOLD, 60)); pnlCards.add(lblA, "A"); pnlCards.add(lblB, "B"); pnlCards.add(lblC, "C"); pnlCards.add(lblD, "D"); pnlCards.add(lblE, "E"); //center the labels lblA.setAlignment(Label.CENTER); lblB.setAlignment(Label.CENTER); lblC.setAlignment(Label.CENTER); lblD.setAlignment(Label.CENTER); lblE.setAlignment(Label.CENTER); } // end init public void actionPerformed(ActionEvent e){ String theCommand = e.getActionCommand(); if (theCommand.equals("|<<")){ stack.first(pnlCards); } else if (theCommand.equals("<==")){ stack.previous(pnlCards); } else if (theCommand.equals("C")){ stack.show(pnlCards, "C"); } else if (theCommand.equals("==>")){ stack.next(pnlCards); } else if (theCommand.equals(">>|")){ stack.last(pnlCards); } // end if //do nothing for now } // end actionPerformed } // end CardDemo def