Ajuda em logica com graphics 2D

2 respostas
Y

Pessoal, preciso simplesmente da ajuda de voces pra pensar :P

Segue meu jpanel que mostra um desenho conforme os dados que o usuario entra (Wallpaper é o jframe principal):

public class REL extends JPanel {
   
    public Rectangle2D r(){
        return new Rectangle2D.Double(Wallpaper.colunaRV,Wallpaper.linhaRV,Wallpaper.larguraRV,Wallpaper.comprimentoRV);
    }
    public Line2D l(){
        return new Line2D.Double(Wallpaper.colunaLV,Wallpaper.linhaLV,Wallpaper.larguraLV,Wallpaper.comprimentoLV);
    }
    public Ellipse2D e(){
        return new Ellipse2D.Double(Wallpaper.colunaEV,Wallpaper.linhaEV,Wallpaper.larguraEV,Wallpaper.comprimentoEV);
    }

    @Override
   public void paintComponent(Graphics graphics)
    {
       super.paintComponent(graphics);  // Invocando a execução do método paintComponent da super classe.

      Graphics2D g = (Graphics2D) graphics.create(); //Isso faz a cópia

      g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
      g.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);

      g.setColor(Wallpaper.cordefundo2);
     
      g.fillRect(0, 0, getWidth(), getHeight());

      Dimension size = getSize();
      double w = size.getWidth();
      double h = size.getHeight();
      
      g.setStroke(new BasicStroke(3));
      g.setColor(Wallpaper.cordaslinhas2);
      
         AffineTransform at =
         AffineTransform.getTranslateInstance(w / 2, h / 2);
         g.draw(at.createTransformedShape(l()));
         g.draw(at.createTransformedShape(r()));
         g.draw(at.createTransformedShape(e()));
         
     g.dispose();
   }    
 }

O que eu queria,por exemplo é a pessoa poder escolher quantas vezes ela quer desenhar cada figura. Por exemplo:

g.draw(at.createTransformedShape(r())); // Desenha o retangulo (metodo r())

Nisso ele só desenha o retangulo 1 vez. Como eu faria pra pessoa poder escolher desenhar 20 retangulos, por exemplo?

Só preciso de uma ideia basica com a logica do que eu vou fazer pra desenhar mais de uma vez :D

Valeu pessoal

2 Respostas

Y

Eai pessoal

To só revivendo o post pra alguem me ajudar :smiley:

ViniGodoy

Cria uma propriedade na sua classe para saber quantos retangulos a pessoa quer.
E usa um for para desenhar vários retângulos.

Criado 15 de abril de 2011
Ultima resposta 17 de abr. de 2011
Respostas 2
Participantes 2