Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import javax.swing.*;
- import javax.swing.event.*;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- import java.awt.event.*;
- public class Sprite {
- private static Timer timer = new Timer(1000, new NextPic());
- private static int pictureNumber = 0;
- private static JLabel nextFrame = new JLabel(new ImageIcon("1.png"));
- private static JSlider slider;
- public static void main (String []args){
- JFrame frame = new JFrame("Animation GUI");
- JPanel panel = new JPanel();
- JLabel label = new JLabel("Drag the slider to either speed up or slow down the animation");
- label.setIcon(new ImageIcon ("1.png"));
- slider = new JSlider(JSlider.HORIZONTAL, 1, 100, 1);
- slider.addChangeListener(new SliderChange());
- slider.setMinorTickSpacing(1);
- slider.setMajorTickSpacing(10);
- slider.setPaintLabels(true);
- slider.setPaintTicks(true);
- panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
- panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
- panel.setPreferredSize(new Dimension(1000, 1000));
- panel.add(label);
- panel.add(slider);
- frame.setVisible(true);
- frame.setResizable(false);
- frame.setSize(500, 150);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setContentPane(panel);
- frame.pack();
- timer.start();
- }
- private static class SliderChange implements ChangeListener {
- public void stateChanged(ChangeEvent event) {
- JSlider nextPic = (JSlider) event.getSource();
- timer.setDelay(1000 / nextPic.getValue());
- }
- }
- private static class NextPic implements ActionListener {
- public void actionPerformed(ActionEvent event) {
- pictureNumber++;
- if (pictureNumber == 9) {
- pictureNumber = 0;
- }
- nextFrame.setIcon(new ImageIcon(pictureNumber + ".png"));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement