import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class Test extends JFrame
{
private JSlider slider;
private JLabel picLabel;
private ImageIcon[] pictures;
public Test()
{
super("JSlider Test");
initComponents();
}
private void initComponents()
{
this.setLayout(new GridLayout(2,1));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
definePictures();
addSlider();
addPicLabel();
this.pack();
}
/**
* Deine Bilder
**/
private void definePictures()
{
this.pictures = new ImageIcon[3];
this.pictures[0] = new ImageIcon("1.gif");
this.pictures[1] = new ImageIcon("2.jpg");
this.pictures[2] = new ImageIcon("3.gif");
}
/**
* Hier wird das Label erstellt, welches die Bilder darstellen soll
**/
private void addPicLabel()
{
this.picLabel = new JLabel(this.pictures[0]);
this.add(this.picLabel);
}
/**
* Hier kommt der Slider, der einen ChangeListener hinzugefügt bekommt, welcher
* den Wert des Sliders als Index des anzuzeigenden Bildes nimmt und das Bild aktualisiert
**/
private void addSlider()
{
this.slider = new JSlider(0, this.pictures.length - 1);
this.slider.setValue(0);
this.slider.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent e)
{
sliderStateChanged(e);
}
});
this.add(this.slider);
}
/**
* Hier die Methode, die bei stateChanged() aufgerufen wird
**/
private void sliderStateChanged(ChangeEvent e)
{
this.picLabel.setIcon(this.pictures[ this.slider.getValue() ]);
}
public static void main(String[] args)
{
new Test().setVisible(true);
}
}