
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;

/**
 *
 * @author  Mark Donnermeyer
 */
public class SlideShowApplet extends Applet implements ActionListener {
        
    Button      nextButton;   /* Nächstes Bild */
    Button      prevButton;   /* Vorheriges Bild */
    ImageCanvas imageCanvas;  /* Bildanzeige */
    
    public void init() {
        
        // Die Bilder erstellen und in einem Vector speichern. Die Bilder werden
        // allerdings noch nicht geladen!!
        Vector imageVector = new Vector();
        String name;
        for (int i=0; (name = getParameter("image"+i)) != null; i++) {
            Image image = getImage(getCodeBase(), name);
            imageVector.addElement(image);
        }
       
        // Bildbereich und Buttons erzeugen und im Applet anordnen.
        nextButton  = new Button("weiter");
        prevButton  = new Button("zurück");
        imageCanvas = new ImageCanvas(imageVector);
        
        ScrollPane scrollPane = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);
        imageCanvas = new ImageCanvas(imageVector);
        scrollPane.add(imageCanvas);
        
        Panel buttons = new Panel(new FlowLayout(FlowLayout.CENTER));
        nextButton.setActionCommand("next");
        nextButton.addActionListener(this);
        prevButton.setActionCommand("prev");
        prevButton.addActionListener(this);
        buttons.add(prevButton);
        buttons.add(nextButton);

        setLayout(new BorderLayout());
        add("Center", scrollPane);
        add("South", buttons);
    }

    /*
     * Klicken auf einen der Buttons abfangen und entsprechend das nächste
     * oder das vorhergehende Bild anzeigen
     */
    public void actionPerformed(ActionEvent e) {
        if ("prev".equals(e.getActionCommand())) {
            imageCanvas.previousImage();
        }
        else {
            imageCanvas.nextImage();
        }
    }
}