Applet problema cm o paint e button

Quero fazer um applet q tenho um desenho no meio e embaixo uma label e um button… Os problemas são q o desenho não está aparecendo, o botão só aparece qnd passo o mouse em cima e o botão de fechar da janela tbm não funciona.
Help please!

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;


public class teste extends Applet {
int w,h;
 DrawPanel panel;
    DrawControls controls;

    @Override
    public void init() {
        setLayout(new BorderLayout());
	panel = new DrawPanel();
        controls = new DrawControls(panel);
	add("Center", panel);
	add("South",controls);
    }
 public void destroy() {
        remove(panel);
        remove(controls);
    }

    public static void main(String args[]) {
	Frame f = new Frame();
	teste drawTest = new teste();
	drawTest.init();
	drawTest.start();
	f.add("Center", drawTest);
	f.setSize(300, 300);
	f.setVisible(true);
       
        

    }[/code]
[code]
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Panel;
import javax.swing.JButton;
import javax.swing.JLabel;

class DrawControls extends Panel {

    DrawPanel target;
     int w;
     int h;

    public DrawControls(DrawPanel target) {
	this.target = target;
	setLayout(new FlowLayout());
	setBackground(Color.lightGray);
	target.setForeground(Color.red);
        JLabel massa = new JLabel("massa");
        JButton ok = new JButton("ok");
        add(ok); add(massa);

   
    }
    public void paint( Graphics g){

         g.setColor(Color.BLACK);
         g.drawLine(w/2, 0, w/2,h/2);
         g.setColor(Color.RED);
         g.fillOval((w/2)-17 , (h/2) -20, (w/2) -140, (h/2)-70);
     }

}
[/code]
[code]class DrawPanel extends Panel {
 public DrawPanel() {
	setBackground(Color.white);
      }
}

adicionando super.paint(g); depois de public void paint( Graphics g){ aparece o botão e a label, porém se colocar se colocar public void [b]paintComponent[/b]( Graphics g){ tbm dá certo, porém o principal que é o desenho continua sem aparecer =/