To understand the details involved in rendering a graphics object, it is important to know the two coordinate systems involved and the relationship between them.
The user coordinate system is the one you use to specify all the coordinates for your shapes. You can think of the origin in the user coordinate system anchored at the top-left corner of an imaginary rectangular piece of paper, with the positive x- and y-axes running toward the right and down, respectively.
The device coordinate system is the one used to actually render the shapes on the specific device (which could be paper if you’re printing the shapes).
Java2D allows text to be rendered as graphical glyphs and treated like shapes.
It is possible to transform points ...