You are probably used to Cartesian coordinates, where x and y values can be positive or negative. In contrast, Java uses a coordinate system where the origin is in the upper-left corner. That way, x and y are always positive integers. Figure 16.2.1 shows these coordinate systems.
Graphical coordinates are measured in pixels; each pixel corresponds to a dot on the screen.
To draw on the canvas, you invoke methods on a
Graphics object. You don’t have to create the
Graphics object; it gets created when you create the
Canvas, and it gets passed as an argument to
The previous example used
fillOval, which has the following signature:
/** * Fills an oval bounded by the specified rectangle with * the current color. */ public void fillOval(int x, int y, int width, int height)
The four parameters specify a bounding box, which is the rectangle in which the oval is drawn.
y specify the the location of the upper-left corner of the bounding box. The bounding box itself is not drawn (see Figure 16.2.2).
To choose the color of a shape, invoke
setColor on the
setColor method determines the color of everything that gets drawn afterward.
Color.red is a constant provided by the
Color class; to use it you have to
import java.awt.Color. Other colors include:
black blue cyan darkGray gray green lightGray magenta orange pink white yellow
You can create your own colors by specifying the red, green, and blue (RGB) components. For example:
Color purple = new Color(128, 0, 128);
Each value is an integer in the range 0 (darkest) to 255 (lightest). The color
(0, 0, 0) is black, and
(255, 255, 255) is white.
You can set the background color of the
Canvas by invoking