Java Reference
In-Depth Information
It's clear that a container needs a coordinate system for specifying the positions of the components it
contains. You also need a coordinate system to draw on a component - to draw a line for instance you
need to be able to specify where it begins and ends in relation to the component - and while the
coordinate system here is similar to that used for positioning components in a container, it's not exactly
the same. It's more complicated when you are drawing - but for very good reasons. Let's see how the
coordinate system for drawing works.
Drawing on a Component
Before we 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, there are two coordinate
systems involved. When you draw something - a line or a curve for instance - 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
we 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 integers can also be used.
A particular graphical output device will have its own device coordinate system, or device space. This
has the same orientation as the default user coordinate system, but the coordinate units depend on the
characteristics of the device. Your display, for instance, will have a different device coordinate system
for each configuration of the screen resolution, so the coordinate system when your display is set to
1024x768 resolution will be different from the coordinate system for 800x600 pixels.
Search WWH ::




Custom Search