Expand|Select|Wrap|Line Numbers
- // <applet code="ImageSlider" width="400" height="400"></applet>
- import java.awt.*;
- import java.awt.image.BufferedImage;
- import java.io.*;
- import javax.imageio.ImageIO;
- import javax.swing.*;
- import javax.swing.event.*;
- public class ImageSlider extends JApplet implements ChangeListener {
- BufferedImage[] images;
- JLabel label;
- public void init() {
- images = getImages();
- getContentPane().setLayout(new BorderLayout());
- getContentPane().add(getLabelComponent());
- getContentPane().add(getSlider(), "Last");
- }
- public void stateChanged(ChangeEvent e) {
- JSlider slider = (JSlider)e.getSource();
- int index = slider.getValue() -1;
- label.setIcon(new ImageIcon(images[index]));
- }
- private JScrollPane getLabelComponent() {
- label = new JLabel(new ImageIcon(images[0]));
- label.setHorizontalAlignment(JLabel.CENTER);
- return new JScrollPane(label);
- }
- private JSlider getSlider() {
- JSlider slider = new JSlider(1, 4, 1);
- slider.setPaintTicks(true);
- slider.setPaintLabels(true);
- slider.setMajorTickSpacing(1);
- slider.setSnapToTicks(true);
- slider.addChangeListener(this);
- return slider;
- }
- private BufferedImage[] getImages() {
- BufferedImage[] images = new BufferedImage[4];
- for(int j = 0; j < images.length; j++) {
- try {
- String path = "images/t" + (j+1) + ".gif";
- images[j] = ImageIO.read(new File(path));
- } catch(IOException e) {
- System.out.println("Read error: " + e.getMessage());
- }
- }
- return images;
- }
- }