19.3. Drawing on a Component

Before I get into the specifics of how you draw on a component, let's understand the principle ideas behind it. When you draw on a component using the Java 2D capabilities, two coordinate systems are involved. When you draw something—a line or a curve, for example—you specify the line or the curve in a device-independent logical coordinate system called the user coordinate system for the component, or user space. By default, this coordinate system has the same orientation as the system that I discussed for positioning components in containers. The origin is at the top-left corner; the positive x-axis runs from left to right, and the positive y-axis from top to bottom. Coordinates are usually specified as floating-point values, although you can also use integers.

A particular graphical output device will have its own device coordinate system, or device space, as illustrated in Figure 19-4. This coordinate system has the same orientation as the default user coordinate system, but the coordinate units depend on the characteristics of the device. Your display, for example, will have a different device coordinate system for each configuration of the screen resolution, so the coordinate system when your display is set to a resolution 1024x768 pixels will be different from the coordinate system for 800x600 pixels.

Figure 19.4. Figure 19-4

Incidentally, the ...

Get Ivor Horton's Beginning Java™ 2, JDK™ 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.