B.2 Graphics类的方法
你可能熟悉笛卡儿坐标(coordinate),其中 x 和 y 的值都可正可负。但在 Java 使用的坐标系中,原点位于左上角,因此 x 和 y 总是正整数。图 B-1 显示了这些坐标系。

图 B-1:笛卡尔儿坐标和 Java 图形坐标的差别
图形坐标以像素(pixel)为单位,每个像素对应屏幕上的一点。
要想在画布上绘图,可对 Graphics 对象调用方法。无需创建这个 Graphics 对象,因为它将在创建 Canvas 对象时自动创建,并作为实参传递给方法 paint。
前面的示例使用了 fillOval,这个方法的特征标如下:
/*** 用当前颜色填充一个被指定矩形内接的椭圆*/public void fillOval(int x, int y, int width, int height)
其中的四个形参指定了将在其中绘制椭圆的定界框(bounding box)。x 和 y 指定定界框左上角的位置。定界框本身并不会显示出来,如图 B-2 所示。

图 B-2:内接定界框的椭圆
要给形状指定颜色,可对 Graphics 对象调用方法 setColor:
g.setColor(Color.red);
方法 setColor 决定了随后绘制图形时将使用的颜色。Color.red 是 Color 类提供的一个常量,要使用它就必须导入 java.awt.Color。其他颜色常量包括:
black blue cyan darkGray gray greenlightGray magenta orange pink white yellow
还可通过指定红色、绿色和蓝色(GRB)分量来自定义颜色,如下所示:
Color purple = new Color(128, 0, 128);
每个颜色分量的可能取值都是 0(最暗)~255(最亮)的整数;(0, 0, 0) 表示黑色,而 (255, 255, 255) 表示白色。
可调用 setBackground 来设置 Canvas 的背景色:
canvas.setBackground(Color.white);
