You don't need an AffineTransform object because the
Graphics2D object supports affine transforms already. Look at the link: rotate scale shear and transform are there already.
I think you ought to duplicate your graphics object. Don't use clone, but it has a
create() method. Note that
JComponent#paintComponent() copies the Graphics object so any changes you make in this method are not reflected in other components, but you probably want to confine the transforms to part of your painting code
The Graphics object is an instance of the 2D class, so the cast should work.
Then you want to
translate the object behind g2d to the location of the arrow, then rotate. Scale translate and rotate can usually be undone without difficulty but shear often cannot be undone completely; it leaves the graphics slightly distorted, which is why I suggest duplicating the object.