The arrow drawn by this class can look a little lop-sided. If the declaration of the variable 'line' (at line 398) is changed to the code below then it looks much nicer. The same methodology is used in XYPointerAnnotation so the line will also work there.
Line2D line = new Line2D.Double(startX, startY, (arrowLeftX+arrowRightX)/2, (arrowLeftY+arrowRightY)/2);
The change basically makes it so that the line representing the stem of the arrow is only drawn up to the base of the arrow head rather than right up to the arrow's point.
Log in to post a comment.