JScrollPane não aparece[Resolvido]

Galera, eu nunca tive problema com swing, exceto agora, alguém pode me explicar pq o scrollpane abaixo não ta funcionando?
to fazendo algo semelhante no meu projeto, só que ao exemplo do que acontece ae em baixo, não ta aparecendo.
To colocando um panel de 2000 por 2000 dentro de um scrollpane que esta num frame de 500 por 500.
Só que o scrollpane não aparece, alguma ajuda?

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.plaf.DimensionUIResource;

public class Teste {
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setSize(500,500);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JPanel p = new JPanel();
		p.setSize(new Dimension(2000,2000));
		p.setMinimumSize(new Dimension(2000,2000));
		JScrollPane pane = new JScrollPane(p);
		pane.setViewportView(p);
		pane.setAutoscrolls(true);
		p.repaint();
		p.validate();
		p.setVisible(true);
		pane.repaint();
		pane.validate();
		pane.setVisible(true);
		frame.getContentPane().add(pane);
		frame.repaint();
		frame.validate();
		frame.setVisible(true);
	}
}

veja se não tem algum problema com os gerenciadores de layout do ScrollPane.

Por mais incrivel que pareça, adicionem essa linha e irá funcionar:

p.setPreferredSize(new Dimension(2000,2000));

Eu cheguei a setar, o minimum, maximum, e size, mas pq eu naum tinha preferrred naum prestou =PPP
Vou mandar um mail pra sun… arghh…