Buonasera a tutti, sono alle prime armi con Java e sto tentando, in poche parole, di creare una finestra, all'interno della quale vi sia un JButton e un'area di disegno. Cliccando sul JButton la figura (geometrica di base) deve cambiare da rettangolo a cerchio. Il mio codice non funziona, ve lo posto qui:
La finestra
codice:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.ObjectInputStream.GetField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Finestra extends JPanel{
public static void main(String[] args) {
JFrame window = new JFrame("Finestra");
window.setLayout(new FlowLayout());
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(500, 500);
JButton Ridisegna = new JButton("Cambia figura");
Ridisegna.addActionListener(new ActionListener() {
Rettangolo rettangolo = new Rettangolo();
@Override
public void actionPerformed(ActionEvent e) {
window.getContentPane().removeAll();
window.getContentPane().add(rettangolo);
//window.getContentPane().validate();
}
});
//window.getContentPane().add(new Rettangolo());
window.add(Ridisegna);
window.setVisible(true);
}
}
Il codice per disegnare il rettangolo
codice:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JComponent;
public class Rettangolo extends JComponent{
public void paint(Graphics g) {
super.paintComponent(g);
g.drawRect (10, 10, 200, 200);
//g.setColor(Color.red);
}
}
e infine quello che disegna il cerchio...
codice:
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JPanel;
public class Cerchio extends JComponent{
public void cerchio(Graphics g) {
super.paintComponent(g);
g.drawOval (10, 10, 200, 200);
}
}
Per facilitare la comprensione del codice, in particolare di dove sia l'inizio e la fine delle classi ho messo titoli in neretto... 
Grazie per l'aiuto,
ciao a tutti! 
e Buone feste!