Graficos?

Galera estou começando a ver os gráficos (java.awt.geom.*), estou com uma dúvida, se alguém puder me ajudar…
De qualquer forma eu agradeço.
A duvida é a seguinte:
Qdo eu uso o Container, eu consigo visualizar meu retangulo, porém, qdo uso o JPanel eu naum consigo???

Código:

package dia13;

import javax.swing.;
import java.awt.
;
import java.awt.geom.*;

public class Test002Class extends JFrame{

Test002Class(){
	super("Testing  Graphics2D...");
	setSize(800,600);
	exitingWindow();

	Container content = getContentPane();
	JPanel pane = new JPanel();

	//content.add(new Graphics01());

	pane.add(new Graphics01());
	//pane.add(new JButton("Button"));
	content.add(pane);
	setContentPane(content);

	setVisible(true);
}

public static void main(String args[]){
	Test002Class classe = new Test002Class();
}

public class Graphics01 extends JPanel{
	public void paintComponent(Graphics comp){
		Graphics2D comp2D = (Graphics2D)comp;
		comp2D.setColor(Color.gray);
		Rectangle2D.Float rectangle2D = new Rectangle2D.Float(25F
		                                                     ,25F
		                                                     ,650F //(float)getSize().width
		                                                     ,550F //(float)getSize().height
		                                                     );
		//comp2D.draw(rectangle2D);
		//comp2D.setColor(Color.blue);
	}
}

void exitingWindow(){
	WindowEvents exit = new WindowEvents();
	addWindowListener(exit);
}

}

Só uma dica não sei se você conhece, a uma biblioteca open source muito boa para graficos, o JFreeChart.

http://www.jfree.org/jfreechart/

E também o ultima versão do IReport também ajuda a desenhar os graficos, ainda é meio restrita mais ja ajuda

http://ireport.sourceforge.net/

Ola, cara seguinte:

1-> onde você dá um draw ou fill no retangulo???

2-> Sendo a Graphics01 um JPanel, se voce adicionar em outro JPanel sem setar um peferencSize , no outro JPanel ele vai “encolher” até o tamanho mínimo, ou seja nada, e funciona se você incluir a Graphics01 direto no container normalmente por esta ser um JPanel.

Agora só um bizzu, não há necessidade de

 setContentPane(content); 

novamente, porque os components swing , quando se pega uma classe, no estilo “getContentPane”, não te devolvem um clone, e sim a referencia, então, tudo que voce fizer no container pego em getContentPane tá valendo.

Valeu