Microsoft SDK for Java

The Graphics Object Coordinate System

A large number of the methods supported by the Graphics object depend on numerical coordinates. Such coordinates can be specified in a Rectangle object, which specifies the area in which an operation is to occur, or in a Point object, which specifies the x- and y- coordinates at which the operation occurs.

The term coordinate system identifies how the coordinates specified in such objects map to the display or to a device. Suppose, for example, that you call the Graphics object’s drawString method to draw text at coordinates 100,100:

Graphics g = this.createGraphics();
g.drawString("Hello, WFC", new Point(100, 100));

The Point object in this example specifies the x- and y-coordinates at which to draw the string. However, the actual result of this operation depends on the coordinate system with which the Graphics object is associated.

The coordinate systems that you can associate a Graphics object with are defined in the CoordinateSystem class. The default coordinate system for a Graphics object is CoordinateSystem.TEXT, which means that as the x and y values in a Point object increase, the text (or bitmap or control) proceeds to the right (horizontally) and down (vertically).

To associate a coordinate system with the Graphics object, use the setCoordinateSystem method, as follows:

Graphics gr = this.createGraphics();
gr.setCoordinateSystem(CoordinateSystem.ANISOTROPIC);

The following table lists the coordinate systems that you can associate with the Graphics object and describes the direction in which drawing proceeds as the x and y axes defined in a Point object increase.

Coordinate System Increasing x-axis Increasing y-axis
CoordinateSystem.TEXT Right. Down.
CoordinateSystem.LOMETRIC Right. Up.
CoordinateSystem.HIMETRIC Right. Up.
CoordinateSystem.LOENGLISH Right. Up.
CoordinateSystem.HIENGLISH Right. Up.
CoordinateSystem.TWIPS Right. Up.
CoordinateSystem.ISOTROPIC User-defined. User-defined.
CoordinateSystem.ANISOTROPIC User-defined. User-defined.

For more information, see:

Setting the Coordinate Origin

Mapping Logical Coordinates to Device Coordinates

© 1999 Microsoft Corporation. All rights reserved. Terms of use.