¿Cómo dibujar flechas con java swing?

sebas
25 de Marzo del 2006
Estoy desarrollando una herramienta grafica y necesito representar vectores. Sin embargo no encuentro forma alguna de representar la direccion de éstos, sólo rectas sin direccion. Me he estado documentando pero no encuentro como hacerlo.

Gracias de antemano!!!!

Diego
25 de Marzo del 2006
Yo me encontré con el mismo problema, así que me hice unos 'a mano':
...
Graphics g=...;
...
public void drawArrow(int x0,int y0,int x1,int y1){
double alfa=Math.atan2(y1-y0,x1-x0);
g.drawLine(x0,y0,x1,y1);
int k=5;
int xa=(int)(x1-k*Math.cos(alfa+1));
int ya=(int)(y1-k*Math.sin(alfa+1));
// Se dibuja un extremo de la dirección de la flecha.
g.drawLine(xa,ya,x1,y1);
xa=(int)(x1-k*Math.cos(alfa-1));
ya=(int)(y1-k*Math.sin(alfa-1));
// Se dibuja el otro extremo de la dirección de la flecha.
g.drawLine(xa,ya,x1,y1);
}
Espero que te sirva.

Andrés Gasca
28 de Septiembre del 2011
Hola, me pareció muy bueno tu método de dibujar un vector, pero cómo es tu nombre para incluirlo como autor del método en mi proyecto. Gracias.