Galera por favor alguém sabe como eu faço para criar um LOSANGO em java usando o objeto Polygon?
To tentando e ainda não consegui
Dúvida para cirar um losango em Java 2D
7 Respostas
Use para isso o GeneralPath:
Pintando no Java 2D
O fantasma do Pacman (exemplo prático)
Na realidade eu preciso fazer a bandeira do brasil para isso eu ja consegui fazer o retangulo
segue o código…
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.awt.geom.Ellipse2D;
import java.awt.geom.GeneralPath;
import java.awt.geom.Rectangle2D;
import javax.swing.JComponent;
@SuppressWarnings("serial")
public class FillComponent extends JComponent {
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
// draw a rectangle
double leftX = 100;
double topY = 100;
double width = 200;
double height = 150;
Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);
g2.setColor(new Color(0,146,62));
g2.fill(rect);
}
}
mas não consigo criar um losango…
Você pode:
a) Rotacionar seu sistema de coordenadas e desenhar um retângulo.
b) Usar o General Path (leia os links que já te passei).
eu não consigo entender o sistema de coordenadas do GeneralPath();
int xPoint[] = {10 , 40, 60 , 10};
int yPoint[] = {10 , 0, 0, 10};
GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, xPoint.length);
polygon.moveTo(xPoint[1], yPoint[1]);
Polygon p = new Polygon();
for(int index = 1; index < xPoint.length; index++){
polygon.lineTo(xPoint[index], yPoint[index]);
}
polygon.closePath();
como funciona para montar um losango usando o yPoint e o xPoint não entendo como plotar os números de forma que monte o que eu quero…
pode me explicar ViniGodoy?
É exatamente o mesmo sistema de coordenadas que vc usou para o quadrado.
Faça o seguinte:
- Dê moveTo para o local onde vc vai começar a traçar o primeiro ponto.
- Faça um lineTo até o segundo ponto
- Faça um lineTo até o terceiro ponto
- Faça um lineTo até o quarto ponto
- Chame o método para fechar o path.
E então dê um fill nesse path com a cor amarela.
No caso do array, a coordenada (xPoint[0], yPoint[0]) referem-se ao primeiro ponto, (xPoint[1], yPoint[1]) ao segundo e assim por diante.
VALEUUUU!!! ViniGodoy
agora eu entendi como isso funciona, mas foi graças ao seu artigo:
http://www.pontov.com.br/site/index.php?option=com_content&view=article&id=93:uma-visao-rapida-sobre-o-java-2d&catid=48:java2d&Itemid=58
muito louco…