JavaFX provides both low-level path painting methods on a GraphicsContext and a high-level Path node.
I want to store shapes in classes and draw them in a Grap
Do I have to iterate over the Path elements by hand and translate them into low-level GraphicsContext methods?
Yes. You will need to write a translator to take data extracted from a Path and invoke appropriate graphics context methods (see the Path Rendering methods), for example beginPath()
, moveTo()
, lineTo()
, closePath()
, fill
, stroke()
, etc.
Rather than using a Path, you could perhaps use an SVGPath. It is easy to translate an SVGPath from a Scene graph node data to a GraphicsContext method - you can just do gc.appendSVGPath(svgPath.getContent()).