// Scott DeRuiter 4/7/03 // Cards.java // Simple example of a CardLayout import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Cards extends JApplet implements MouseListener { private Image [] image; private int index, max; private JPanel panel1, panel2, panel3; private CardLayout cards; private Container c; public Cards ( ) { index = 0; max = 3; } public void init ( ) { c = this.getContentPane(); image = new Image[max]; for ( int i = 0; i < image.length; i++ ) { image[i] = getImage ( getDocumentBase ( ), "pic" + i + ".jpg" ); WaitForImage ( this, image[i] ); } panel1 = new MyPanel ( image[0] ); panel2 = new MyPanel ( image[1] ); panel3 = new MyPanel ( image[2] ); cards = new CardLayout ( ); c.setLayout ( cards ); panel1.addMouseListener(this); panel2.addMouseListener(this); panel3.addMouseListener(this); c.add ( panel1, "First" ); c.add ( panel2, "Second" ); c.add ( panel3, "Third" ); getContentPane().setBackground( Color.blue ); } public void WaitForImage ( JApplet component, Image image ) { MediaTracker tracker = new MediaTracker ( component ); try { tracker.addImage ( image, 0 ); tracker.waitForID ( 0 ); } catch ( InterruptedException e ) { e.printStackTrace ( ); } } class MyPanel extends JPanel { private Image pict; public MyPanel ( Image im ) { pict = im; } public void paintComponent(Graphics g) { super.paintComponent ( g ); g.drawImage ( pict, 0, 0, this ); } } public void mousePressed(MouseEvent evt) { cards.next ( c ); } public void mouseEntered(MouseEvent evt) { } public void mouseExited(MouseEvent evt) { } public void mouseClicked(MouseEvent evt) { } public void mouseReleased(MouseEvent evt) { } }