alguien de ustedes sabra como dibujar una flecha en un canvas, hasta el momento puedo dibujarla cuando la linea es horizontal, pero si esta linea le cambio su pendiente el triengulito del final se mantiene como si fuera la linea horizontal, es decir no gira junto con la peniente, no se si me entiendan pero las mando parte del código para que me ayuden
 
 
saludos
Jazmín
 
graffBuf es de tipo grafico y es publico en 
la variable tipo es solo porque dibujo dos tipos de flechas punteadas o no.
 
 public void crearFlecha(int x1, int y1, int x2, int y2, int tipo){
    //vectores para dibujar el triangulo de la flecha
    int puntosX[] = {x2, x2-7, x2-7,x2};
    int puntosY[] = {y2, y2-7,y2+7,y2};
    if(tipo==2) {
      float dash1[] = {5.0f}; //punteado
      BasicStroke dashed = new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f);
      grafBuff.setStroke(dashed);
    }
    else{
      if (tipo == 1) 
        grafBuff.setStroke(new BasicStroke(2.0f)); //ancho
    }
    grafBuff.setColor(Color.black);
    grafBuff.drawLine(x1,y1,x2,y2);
    GeneralPath filledPolygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD,puntosX.leng  th);
    filledPolygon.moveTo(puntosX[0],puntosY[0]);
    for (int index = 1;index < puntosX.length;index++) {
      filledPolygon.lineTo(puntosX[index], puntosY[index]);
    }
    filledPolygon.closePath();
    grafBuff.fill(filledPolygon);
    grafBuff.setColor(Color.gray);
    grafBuff.setStroke(new BasicStroke(1.0f)); //defaulf
 
  } 
  
 
