Io vorrei creare un frame al cui interno vorrei avere una gestione degli eventi tramite 1 bottone, e tramite il metodo Paint ereditato dalla classe Canvas vorrei disegnare un ovale quando premo il bottone...

codice:
//Classe per disegnare la figura
public class CreatoreLabirinto extends Canvas
{
    public void paint(Graphics g)
    {
        g.drawOval(10, 10, 5, 5);

    }
}

//Creazione del Frame con il bottoni
class Pulsante extends Frame
{
    Button pulsante1=new Button("pulsante1");
    public Pulsante()
    {
        setLayout(null);
        add(pulsante1);
        pulsante1.setBounds(10, 30, 60, 30);
        pulsante1.addActionListener(new asco1());
        setVisible(true);
    }
}

//Istanzia dell'oggetto con l'esecuzione del costruttore
public static void main(String [] s)
    {
        new Pulsanti();
    }

//Gestione dell'evento del bottone1 premuto
class asco1 implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            //Disegno dell'ovale con il metodo Paint...
        }
    }


Però non riesco a inserire nello stesso Frame la gestione degli eventi fatta con l'ascoltatore ActionListener e il disegno delle figure con il metodo Paint...
In che direzione mi devo muovere???Io ho pensato di creare con Swing 2 container: uno per la gestione degli eventi e uno per il disegno,ma non so come collegare le due cose...
Come posso fare??? Grazie per qualsiasi aiuto