Alguem poderia me ajudar?

Ola pessoal!! sou novo aki no forum. O negocio e o seguinte eu sou estudante de engenharia e meu professor de progamação pediu un trabalho pra quinta o problema e q meu programa naum ta funcionando e eu naum sei o pq. Alguem podia da uma lida no meu codigo pra v se axa um erro?Se pude vlw!!!
ps:Eu cai numa turma de Java por engano então pega leve!!!

aki ta o codigo,era pra se um editor grafico q desenha retangulos e circulos de tamanho fixo e apaga ou um circulo ou um retangulo ou o ultimo,:

[code]package trabalho;

import java.awt.;
import java.awt.event.
;

public class Janela extends Frame implements ActionListener, MouseListener {

private Button bRetangulo,bCirculo, bPintar,bApagarC,bApagarR,bApagarT;
private Retangulo r;
private Circulo c;
private boolean pintar,pressed;

public static final void main(String arg[]){
    Janela j= new Janela();
    j.show();
}
public Janela(){
    super("Editor Grafico");
    setSize(800,600);
    pintar=false;
    Panel p = new Panel();
    p.setBackground(SystemColor.GRAY);
    p.add(bRetangulo = new Button("Retângulo"));
    bRetangulo.addActionListener(this);
    p.add(bCirculo = new Button("Circulo"));
    bCirculo.addActionListener(this);
    p.add(bPintar = new Button("Pintar"));
    bPintar.addActionListener(this);
    p.add(bApagarC = new Button("ApagarCirculo"));
    bApagarC.addActionListener(this);
    p.add(bApagarR = new Button("ApagarRetangulo"));
    bApagarR.addActionListener(this);
    p.add(bApagarT = new Button("ApagarUltimo"));
    bApagarT.addActionListener(this);
    add("North",p);
    addMouseListener(this);
    addWindowListener(new CloseWindowAndQuit());
}

 @Override    
 public void paint(Graphics g){
   if(pressed==true)  
     if(pintar== false)
       for(int i=0;i<r.aRetangulo.size();i++){
            Retangulo retangulo= r.aRetangulo.elementAt(i);
            g.drawRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
          }
     else{
            g.setColor(Color.BLUE);
            Retangulo retangulo= r.aRetangulo.elementAt(r.aRetangulo.size());
            g.fillRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
    
     }
   else if(pressed==false){
       if(pintar==false)
       for(int i=0;i<c.aCirculo.size();i++){
            Circulo circulo = c.aCirculo.elementAt(i);
            g.drawOval(circulo.x,circulo.y,circulo.size,circulo.size2);
       }
    else{
        g.setColor(Color.RED);
        Circulo circulo= c.aCirculo.elementAt(c.aCirculo.size());
        g.fillOval(circulo.x,circulo.y,circulo.size,circulo.size2);
    }
   } 
 }
         
 

 public void actionPerformed(ActionEvent e){
     if(e.getSource()==bRetangulo){
      pressed=true;
      repaint();
     }
     else if(e.getSource()==bCirculo){
           pressed=false;
           repaint();
          }
      else if(e.getSource()==bPintar){
         pintar=true;
         repaint();
      }
       else if(e.getSource()==bApagarR){
         r.ApagarR();
         repaint();
       }
            else if(e.getSource()==bApagarC){
              c.ApagarC(); 
               repaint();
            }
            else if(e.getSource()==bApagarT){
                c.aFiguras.removeElementAt(c.aFiguras.size());  
                 repaint();
            }
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){  
    if(pressed==true){
     r.aRetangulo.addElement( new Retangulo(e.getX(),e.getY(),r.largura,r.altura));
     r.aFiguras.addElement( new Figuras(e.getX(),e.getY(),r.largura,r.altura));
     repaint();
     
     
     }
     else if(pressed==false){
        c.aCirculo.addElement( new Circulo(e.getX(),e.getY(),c.raio,c.raio));
        c.aFiguras.addElement( new Figuras(e.getX(),e.getY(),c.raio,c.raio));
        repaint();
     }
}

}[/code]

[code]package trabalho;

import java.awt.;
import java.awt.event.
;

public class Janela extends Frame implements ActionListener, MouseListener {

private Button bRetangulo,bCirculo, bPintar,bApagarC,bApagarR,bApagarT;
private Retangulo r;
private Circulo c;
private boolean pintar,pressed;

public static final void main(String arg[]){
    Janela j= new Janela();
    j.show();
}
public Janela(){
    super("Editor Grafico");
    setSize(800,600);
    pintar=false;
    Panel p = new Panel();
    p.setBackground(SystemColor.GRAY);
    p.add(bRetangulo = new Button("Retângulo"));
    bRetangulo.addActionListener(this);
    p.add(bCirculo = new Button("Circulo"));
    bCirculo.addActionListener(this);
    p.add(bPintar = new Button("Pintar"));
    bPintar.addActionListener(this);
    p.add(bApagarC = new Button("ApagarCirculo"));
    bApagarC.addActionListener(this);
    p.add(bApagarR = new Button("ApagarRetangulo"));
    bApagarR.addActionListener(this);
    p.add(bApagarT = new Button("ApagarUltimo"));
    bApagarT.addActionListener(this);
    add("North",p);
    addMouseListener(this);
    addWindowListener(new CloseWindowAndQuit());
}

 @Override    
 public void paint(Graphics g){
   if(pressed==true)  
     if(pintar== false)
       for(int i=0;i<r.aRetangulo.size();i++){
            Retangulo retangulo= r.aRetangulo.elementAt(i);
            g.drawRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
          }
     else{
            g.setColor(Color.BLUE);
            Retangulo retangulo= r.aRetangulo.elementAt(r.aRetangulo.size());
            g.fillRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
    
     }
   else if(pressed==false){
       if(pintar==false)
       for(int i=0;i<c.aCirculo.size();i++){
            Circulo circulo = c.aCirculo.elementAt(i);
            g.drawOval(circulo.x,circulo.y,circulo.size,circulo.size2);
       }
    else{
        g.setColor(Color.RED);
        Circulo circulo= c.aCirculo.elementAt(c.aCirculo.size());
        g.fillOval(circulo.x,circulo.y,circulo.size,circulo.size2);
    }
   } 
 }
         
 

 public void actionPerformed(ActionEvent e){
     if(e.getSource()==bRetangulo){
      pressed=true;
      repaint();
     }
     else if(e.getSource()==bCirculo){
           pressed=false;
           repaint();
          }
      else if(e.getSource()==bPintar){
         pintar=true;
         repaint();
      }
       else if(e.getSource()==bApagarR){
         r.ApagarR();
         repaint();
       }
            else if(e.getSource()==bApagarC){
              c.ApagarC(); 
               repaint();
            }
            else if(e.getSource()==bApagarT){
                c.aFiguras.removeElementAt(c.aFiguras.size());  
                 repaint();
            }
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){  
    if(pressed==true){
     r.aRetangulo.addElement( new Retangulo(e.getX(),e.getY(),r.largura,r.altura));
     r.aFiguras.addElement( new Figuras(e.getX(),e.getY(),r.largura,r.altura));
     repaint();
     
     
     }
     else if(pressed==false){
        c.aCirculo.addElement( new Circulo(e.getX(),e.getY(),c.raio,c.raio));
        c.aFiguras.addElement( new Figuras(e.getX(),e.getY(),c.raio,c.raio));
        repaint();
     }
}

}[/code]

[code]package trabalho;

import java.awt.;
import java.awt.event.
;

public class Janela extends Frame implements ActionListener, MouseListener {

private Button bRetangulo,bCirculo, bPintar,bApagarC,bApagarR,bApagarT;
private Retangulo r;
private Circulo c;
private boolean pintar,pressed;

public static final void main(String arg[]){
    Janela j= new Janela();
    j.show();
}
public Janela(){
    super("Editor Grafico");
    setSize(800,600);
    pintar=false;
    Panel p = new Panel();
    p.setBackground(SystemColor.GRAY);
    p.add(bRetangulo = new Button("Retângulo"));
    bRetangulo.addActionListener(this);
    p.add(bCirculo = new Button("Circulo"));
    bCirculo.addActionListener(this);
    p.add(bPintar = new Button("Pintar"));
    bPintar.addActionListener(this);
    p.add(bApagarC = new Button("ApagarCirculo"));
    bApagarC.addActionListener(this);
    p.add(bApagarR = new Button("ApagarRetangulo"));
    bApagarR.addActionListener(this);
    p.add(bApagarT = new Button("ApagarUltimo"));
    bApagarT.addActionListener(this);
    add("North",p);
    addMouseListener(this);
    addWindowListener(new CloseWindowAndQuit());
}

 @Override    
 public void paint(Graphics g){
   if(pressed==true)  
     if(pintar== false)
       for(int i=0;i<r.aRetangulo.size();i++){
            Retangulo retangulo= r.aRetangulo.elementAt(i);
            g.drawRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
          }
     else{
            g.setColor(Color.BLUE);
            Retangulo retangulo= r.aRetangulo.elementAt(r.aRetangulo.size());
            g.fillRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
    
     }
   else if(pressed==false){
       if(pintar==false)
       for(int i=0;i<c.aCirculo.size();i++){
            Circulo circulo = c.aCirculo.elementAt(i);
            g.drawOval(circulo.x,circulo.y,circulo.size,circulo.size2);
       }
    else{
        g.setColor(Color.RED);
        Circulo circulo= c.aCirculo.elementAt(c.aCirculo.size());
        g.fillOval(circulo.x,circulo.y,circulo.size,circulo.size2);
    }
   } 
 }
         
 

 public void actionPerformed(ActionEvent e){
     if(e.getSource()==bRetangulo){
      pressed=true;
      repaint();
     }
     else if(e.getSource()==bCirculo){
           pressed=false;
           repaint();
          }
      else if(e.getSource()==bPintar){
         pintar=true;
         repaint();
      }
       else if(e.getSource()==bApagarR){
         r.ApagarR();
         repaint();
       }
            else if(e.getSource()==bApagarC){
              c.ApagarC(); 
               repaint();
            }
            else if(e.getSource()==bApagarT){
                c.aFiguras.removeElementAt(c.aFiguras.size());  
                 repaint();
            }
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){  
    if(pressed==true){
     r.aRetangulo.addElement( new Retangulo(e.getX(),e.getY(),r.largura,r.altura));
     r.aFiguras.addElement( new Figuras(e.getX(),e.getY(),r.largura,r.altura));
     repaint();
     
     
     }
     else if(pressed==false){
        c.aCirculo.addElement( new Circulo(e.getX(),e.getY(),c.raio,c.raio));
        c.aFiguras.addElement( new Figuras(e.getX(),e.getY(),c.raio,c.raio));
        repaint();
     }
}

}[/code]

[code]package trabalho;

import java.awt.;
import java.awt.event.
;

public class Janela extends Frame implements ActionListener, MouseListener {

private Button bRetangulo,bCirculo, bPintar,bApagarC,bApagarR,bApagarT;
private Retangulo r;
private Circulo c;
private boolean pintar,pressed;

public static final void main(String arg[]){
    Janela j= new Janela();
    j.show();
}
public Janela(){
    super("Editor Grafico");
    setSize(800,600);
    pintar=false;
    Panel p = new Panel();
    p.setBackground(SystemColor.GRAY);
    p.add(bRetangulo = new Button("Retângulo"));
    bRetangulo.addActionListener(this);
    p.add(bCirculo = new Button("Circulo"));
    bCirculo.addActionListener(this);
    p.add(bPintar = new Button("Pintar"));
    bPintar.addActionListener(this);
    p.add(bApagarC = new Button("ApagarCirculo"));
    bApagarC.addActionListener(this);
    p.add(bApagarR = new Button("ApagarRetangulo"));
    bApagarR.addActionListener(this);
    p.add(bApagarT = new Button("ApagarUltimo"));
    bApagarT.addActionListener(this);
    add("North",p);
    addMouseListener(this);
    addWindowListener(new CloseWindowAndQuit());
}

 @Override    
 public void paint(Graphics g){
   if(pressed==true)  
     if(pintar== false)
       for(int i=0;i<r.aRetangulo.size();i++){
            Retangulo retangulo= r.aRetangulo.elementAt(i);
            g.drawRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
          }
     else{
            g.setColor(Color.BLUE);
            Retangulo retangulo= r.aRetangulo.elementAt(r.aRetangulo.size());
            g.fillRect(retangulo.x,retangulo.y,retangulo.size,retangulo.size2);
    
     }
   else if(pressed==false){
       if(pintar==false)
       for(int i=0;i<c.aCirculo.size();i++){
            Circulo circulo = c.aCirculo.elementAt(i);
            g.drawOval(circulo.x,circulo.y,circulo.size,circulo.size2);
       }
    else{
        g.setColor(Color.RED);
        Circulo circulo= c.aCirculo.elementAt(c.aCirculo.size());
        g.fillOval(circulo.x,circulo.y,circulo.size,circulo.size2);
    }
   } 
 }
         
 

 public void actionPerformed(ActionEvent e){
     if(e.getSource()==bRetangulo){
      pressed=true;
      repaint();
     }
     else if(e.getSource()==bCirculo){
           pressed=false;
           repaint();
          }
      else if(e.getSource()==bPintar){
         pintar=true;
         repaint();
      }
       else if(e.getSource()==bApagarR){
         r.ApagarR();
         repaint();
       }
            else if(e.getSource()==bApagarC){
              c.ApagarC(); 
               repaint();
            }
            else if(e.getSource()==bApagarT){
                c.aFiguras.removeElementAt(c.aFiguras.size());  
                 repaint();
            }
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){  
    if(pressed==true){
     r.aRetangulo.addElement( new Retangulo(e.getX(),e.getY(),r.largura,r.altura));
     r.aFiguras.addElement( new Figuras(e.getX(),e.getY(),r.largura,r.altura));
     repaint();
     
     
     }
     else if(pressed==false){
        c.aCirculo.addElement( new Circulo(e.getX(),e.getY(),c.raio,c.raio));
        c.aFiguras.addElement( new Figuras(e.getX(),e.getY(),c.raio,c.raio));
        repaint();
     }
}

}[/code]

[code]package trabalho;

import java.util.*;

public class Figuras {
protected int x;
protected int y;
protected int size;
protected int size2;
protected Vector aFiguras;

public Figuras(){
   aFiguras= new Vector();
}

public Figuras(int a,int b,int c,int d){
    x=a;y=b;size=c;size2=d;
}

}[/code]

[code]package trabalho;

import java.util.*;

public class Circulo extends Figuras {
public Vector aCirculo;
public int raio;

public Circulo(){
aCirculo= new Vector();
raio=70;
}
public Circulo(int a,int b,int c,int d){
x=a;y=b;size=c;size2=d;
}

public void ApagarC(){
    aCirculo.removeElementAt(aCirculo.size());
 }

}[/code]

[code]package trabalho;

import java.util.*;

public class Retangulo extends Figuras {
public Vector aRetangulo;
public int altura;
public int largura;

public Retangulo(){     
    aRetangulo= new Vector();
    largura=100;
    altura=70;
}
public Retangulo(int a,int b,int c,int d){
    x=a;y=b;size=c;size2=d;
}
 
 public void ApagarR(){
    aRetangulo.removeElementAt(aRetangulo.size());
 }

}[/code]

[code]package trabalho;

import java.awt.;
import java.awt.event.
;

class CloseWindowAndQuit extends WindowAdapter {

@Override
public void windowClosing(WindowEvent e) {
    System.exit(0);
}

}[/code]

Mas qual é o erro que dá? Dá-nos mais informações, assim não temos de passar a pente fino todo o código e olhar apenas para zonas especificamente relacionadas com o erro/anómalia.

o erro e naum estar desenhado quando se clica na janela

Usa j.setVisible(true) ao invés de j.show();