Allora, sicuramente sarà un banale errore o mancata applicazione di qualche metodo, fatto stà che creo un oggetto con una classe che eredità da Canvas (un banale cerchio), lo metto in un pannello ma non si disegna, a schermo non appare niente.
Vi posto il codice:

Spoiler:

Codice:
/**
 * @author Yuri Belleri
 * @date   14/10/10
 */
package it.unibs.yb.lab_14_10_10;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.applet.*;

public class Lab_14_10_10_main extends Applet implements MouseListener{

    /**
     * 
     */
    private static final long serialVersionUID = 1158349882115701860L;
    Label labelNome;
    TextField fieldNome;
    Label labelCognome;
    TextField fieldCognome;
    Label labelSesso;
    CheckboxGroup checkSesso;
    Checkbox checkMaschio;
    Checkbox checkFemmina;
    Label labelEta;
    Choice sceltaEta;
    Label labelIndirizzo;
    TextField fieldIndirizzo;
    Button pulsanteInvio;
    Button pulsante1;
    Button pulsante2;
    Button pulsante3;
    Button pulsante4;
    Button pulsante5;
    Button pulsante6;
    Button pulsante7;
    Button pulsante8;
    Button pulsante9;
    Button pulsanteAst;
    Button pulsante0;
    Button pulsanteSharp;
    MioCanvas disegno;
    
    /**
     * Inizializzazione
     */
    public void init(){
        //layout della finestra principale
        GridLayout layoutPrincipale = new GridLayout(3,1);
        setLayout(layoutPrincipale);
        
        //pannello 1: contiene il form dei dati anagrafici
        Panel panel1 = new Panel();
        panel1.setBackground(Color.gray);
        GridLayout layoutPanel1 = new GridLayout(3,2);
        panel1.setLayout(layoutPanel1);
        
        Panel pannelloNome = new Panel();
        labelNome = new Label("Nome:");
        fieldNome = new TextField(20);
        pannelloNome.add(labelNome);
        pannelloNome.add(fieldNome);
        panel1.add(pannelloNome);
        
        Panel pannelloCognome = new Panel();
        labelCognome = new Label("Cognome:");
        fieldCognome = new TextField(20);
        pannelloCognome.add(labelCognome);
        pannelloCognome.add(fieldCognome);
        panel1.add(pannelloCognome);
        
        Panel pannelloSesso = new Panel();
        labelSesso = new Label("Sesso:");
        checkSesso = new CheckboxGroup();
        checkMaschio = new Checkbox(null, true, checkSesso);
        checkFemmina = new Checkbox(null, false, checkSesso);
        pannelloSesso.add(labelSesso);
        pannelloSesso.add(checkMaschio);
        pannelloSesso.add(checkFemmina);
        panel1.add(pannelloSesso);
        
        Panel pannelloEta = new Panel();
        labelEta = new Label("Eta'");
        sceltaEta = new Choice();
        for(int i=1; i<100; i++){
            String eta = Integer.toString(i);
            sceltaEta.add(eta);
        }
        pannelloEta.add(labelEta);
        pannelloEta.add(sceltaEta);
        panel1.add(pannelloEta);
        
        Panel pannelloIndirizzo = new Panel();
        labelIndirizzo = new Label("Indirizzo:");
        fieldIndirizzo = new TextField(20);
        pannelloIndirizzo.add(labelIndirizzo);
        pannelloIndirizzo.add(fieldIndirizzo);
        panel1.add(pannelloIndirizzo);
            
        Panel pannelloPulsante = new Panel();
        pulsanteInvio = new Button("Invia");
        pulsanteInvio.addMouseListener(this);
        pannelloPulsante.add(pulsanteInvio);
        panel1.add(pannelloPulsante);
        
        add(panel1);
        
        //pannello 2: contiene la tastiera
        Panel panel2 = new Panel();
        panel2.setBackground(Color.cyan);
        GridLayout lauoutPanel2 = new GridLayout(4,3);
        panel2.setLayout(lauoutPanel2);
        
        pulsante1 = new Button("1");
        pulsante2 = new Button("2");
        pulsante3 = new Button("3");
        pulsante4 = new Button("4");
        pulsante5 = new Button("5");
        pulsante6 = new Button("6");
        pulsante7 = new Button("7");
        pulsante8 = new Button("8");
        pulsante9 = new Button("9");
        pulsanteAst = new Button("*");
        pulsante0 = new Button("0");
        pulsanteSharp = new Button("#");
        
        panel2.add(pulsante1);
        panel2.add(pulsante2);
        panel2.add(pulsante3);
        panel2.add(pulsante4);
        panel2.add(pulsante5);
        panel2.add(pulsante6);
        panel2.add(pulsante7);
        panel2.add(pulsante8);
        panel2.add(pulsante9);
        panel2.add(pulsanteAst);
        panel2.add(pulsante0);
        panel2.add(pulsanteSharp);
        add(panel2);
        
        //pannello 3: contiene un'immagine o la faccina del progetto precedente
        Panel panel3 = new Panel();
        panel3.setBackground(Color.green);
        disegno = new MioCanvas();
        Label etic = new Label("Canvas");
        panel3.add(etic);
        panel3.add(disegno);
        
        add(panel3);
        
        
    }
    
    /**
     * Avvio applet
     */
    public void start(){
        
    }
    
    /**
     * update
     */
    public void update(){
        
    }
                         
    /**
     *
     */
    public void paint(Graphics g){
        disegno.paint(g);
    }

    @Override
    public void mouseClicked(MouseEvent e){
        if(e.getSource() == pulsanteInvio){
            System.out.println("Pulsante invio premuto");
        }
    }

    @Override
    public void mouseEntered(MouseEvent e){}

    @Override
    public void mouseExited(MouseEvent e){}

    @Override
    public void mousePressed(MouseEvent e){}

    @Override
    public void mouseReleased(MouseEvent e){}

    public class MioCanvas extends Canvas{

        /**
         * 
         */
        private static final long serialVersionUID = 9165899038508788575L;
        
        public MioCanvas(){
            
        }
        
        public void paint(Graphics g){
            g.fillOval(10, 460, 10, 10);
            System.out.println("Canvas");
        }

    }
    
}


Non capisco, ho fatto un progetto di test con solo un pannello con dentro il disegno e funziona, ma qui no