Alguem poderia me ajudar?

4 respostas
N

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,:

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();
         }
    }
}
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();
         }
    }
}
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();
         }
    }
}
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();
         }
    }
}

4 Respostas

N
package trabalho;

import java.util.*;

public class Figuras {
    protected int x;
    protected int y;
    protected int size;
    protected int size2;
    protected Vector<Figuras> aFiguras;
   
    public Figuras(){
       aFiguras= new Vector();
    }
    
    public Figuras(int a,int b,int c,int d){
        x=a;y=b;size=c;size2=d;
    }

}
package trabalho;

import java.util.*;

public class Circulo extends Figuras {   
  public Vector<Circulo> 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());
     }
}
package trabalho;

import java.util.*;

public class Retangulo extends Figuras {
    public Vector<Retangulo> 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());
     }
}
package trabalho;

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

class CloseWindowAndQuit extends WindowAdapter {

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

}
S

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.

N

o erro e naum estar desenhado quando se clica na janela

S

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

Criado 24 de setembro de 2008
Ultima resposta 28 de set. de 2008
Respostas 4
Participantes 2