ciao a tutti!!!

ho questa animazione:

codice:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.ImageObserver;

import javax.swing.*;

public class GifAnimata extends JFrame  {

	Image animation; 
	Immagine currentAnimation = new Immagine();
	JFrame frame = new JFrame("prova Animazione");
	JButton buttonPause = new JButton("Pause");
	JButton buttonPlay = new JButton("Play");
	Timer timer;
	public GifAnimata() {	
		prova();
		
	}
	public void prova()  {
		
		ImageIcon ball_IMG_ICON = new ImageIcon("c://immagine.jpg");
		animation = ball_IMG_ICON.getImage(); 
													
		prepareImage(animation, this);
		currentAnimation.setX(10);
		currentAnimation.setY(+100); 		
		prepareImage(animation, this);
		timer = new Timer(100, paintTimer);
		
		JPanel p = new JPanel();

		p.add(buttonPlay);
		buttonPlay.addActionListener(new ActionListener() {					
			public void actionPerformed(ActionEvent evt) {
				timer.start();
			}
		});
		p.add(buttonPause);
		buttonPause.addActionListener(new ActionListener() {					
			public void actionPerformed(ActionEvent evt) {
				timer.stop();
			}
		});
		frame.setTitle("Gif Animata");
		frame.setSize(1100, 720);   
		frame.add(panel);
		frame.add(p, BorderLayout.NORTH);
		frame.setLocationRelativeTo( null );
		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		frame.setVisible( true );
	}

	JPanel panel = new JPanel() {
    public void paint(Graphics g) {
		super.paint(g);
		Graphics2D g2d = (Graphics2D) g;
		g.setColor(Color.WHITE);
		g.fillRect(0, 0, 1100, 720);
		g2d.drawImage(animation, currentAnimation.getX(), currentAnimation.getY(), this); 								
		Toolkit.getDefaultToolkit().sync(); 
		g.dispose();

	}
	};
	// in quale direzione inviare l'immagine
	Action paintTimer = new AbstractAction() { 
		public void actionPerformed(ActionEvent e) {			
			//currentBall.setX(currentBall.getX() + 5);
			currentAnimation.setY(currentAnimation.getY() - 1);
			frame.repaint();
		}
	};
	// in quale direzione inviare l'immagine
		Action paintTimerPause = new AbstractAction() { 
			public void actionPerformed(ActionEvent e) {			
				//currentBall.setX(currentBall.getX() + 5);
				currentAnimation.setY(currentAnimation.getY() - 1);

			}
		};
	   
   public static void main(String[] args) {
	   GifAnimata ga = new GifAnimata();
   }
}
class Immagine {
	/*
	 * Simple Object class to store the ball's co-ordinates.
	 */
	private int x;
	private int y;

	Immagine() {
		;
	} 

	public int getX() { 
		return x;
	}

	public void setX(int x2) {
		x = x2;
	}

	public int getY() {
		return y;
	}

	public void setY(int y2) {
		y = y2;
	}
}
con questo cod. aggingo solo il JPanel...senza il JFrame in un'altro script...fino quì va tutto ok!!!

ora vorrei aggiungere un JScrollPane al JPane...come faccio??

ho provato in tutti i modi ma lo scrollPane non esce!!!!