Desenhar triangulos em posições aleatórias?

1 resposta
P

Ola gostaria de saber como faço para desenhar imagnes em posições aleatorias?

o que me é pedido:

Escreva um programa que mostre em posições aleatórias do fundo da janela triângulos. Utilize a classe GeneralPath e o método fill da classe Graphics2D para desenhar os triângulos.

meu codigo esta assim:

package triangulo;

import java.awt.geom.<em>;

import java.awt.</em>;

import javax.swing.*;

/**
*

  • @author Sagem110
    */
    public class Main extends JFrame {

    public Main(){

    super("Triagulo em posições aleatorias");
     setSize(400,400);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     MapPane map = new MapPane();
     Container content = getContentPane();
     content.add(map);
     setVisible(true);
    

    }

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      // TODO code application logic here

    Main frame = new Main();

    }

    class MapPane extends JPanel{

    @Override
     public void paintComponent(Graphics c){
         
         Graphics2D c2 = (Graphics2D)c;
         c2.setColor(Color.GREEN);
         
         GeneralPath des = new GeneralPath();
         
         des.moveTo(100F,300F );
         des.lineTo(300F,300F);
         des.lineTo(200F,100F);
        
         des.closePath();
         c2.fill(des);
         
         
     }
    

    }

}

alguem pode me dar uma luz???

1 Resposta

ViniGodoy

Olá, bem vindo ao fórum.

Sempre que for postar códigos, por favor, use a tag code. Se não sabe usar esse recurso, leia o texto abaixo:
http://www.guj.com.br/posts/list/50115.java

Para gerar números aleatórios, use a classe Random. No caso, para desenha um único triângulo, vc terá que gerar 6 números aleatórios. 1 para o x, outro para o y, de cada uma das 3 pontas.

Random random = new Random();
int x1 = random.nextInt(100);
int y1 = random.nextInt(100);

int x2 = random.nextInt(100);
int y2 = random.nextInt(100);

int x3 = random.nextInt(100);
int y3 = random.nextInt(100);
Depois, é só desenhar o triângulo:
GeneralPath des = new GeneralPath(); 
des.moveTo(x1,y1); 
des.lineTo(x2,y2); 
des.lineTo(x3,y3); 
des.closePath();
Criado 3 de setembro de 2009
Ultima resposta 3 de set. de 2009
Respostas 1
Participantes 2