Pessoal, to com um problema que não estou conseguindo resolver. Eu tenho algumas imagens criadas com com graphics2D e estou precisando fazer uma rotação. O método rotate gira toda a tela, mas preciso girar apenas uma imagem isolada dentre várias imagens. me falaram em que eu poderia usar o affineTransforme, mas não encontrei muitas coisas a respeito, somente consegui espelhar a imagem com este método. Segue o código, neste exemplo tenho dois triângulos e quero girar um, se alguém poder me ajudar fico muito grato... vlww
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.GeneralPath;
public class FormasGeometricas extends Canvas{
int[] x = {50,75,25};
int[] y = {0,50,50};
public FormasGeometricas(){
setSize(200, 150);
setBackground(Color.GRAY);
}
public void paint (Graphics g){
Graphics2D g2 =(Graphics2D) g;
GeneralPath triangulo= new GeneralPath();
triangulo.moveTo(x[0], y[0]);
for (int i = 0; i < x.length; i++) {
triangulo.lineTo(x[i], y[i]);
}
triangulo.closePath();
g2.setColor(Color.GREEN);
g2.fill(triangulo);
for (int i = 0; i < y.length; i++) {
x[i]+=150;
y[i]+=150;
}
GeneralPath triangulo2 = new GeneralPath();
triangulo2.moveTo(x[0], y[0]);
for (int i = 0; i < x.length; i++) {
triangulo2.lineTo(x[i], y[i]);
}
for (int i = 0; i < x.length; i++) {
triangulo2.lineTo(x[i], y[i]);
}
triangulo2.closePath();
g2.setColor(Color.GREEN);
g2.fill(triangulo2);
}
}