绘图颜色与画笔属性
Java 语言使用 Color 类封装颜色的各种属性,并对颜色进行管理。另外,在绘制图形时还可以指定线的粗细和虚实等画笔属性。
设置颜色
使用 Color 类可以创建任意颜色的对象,不用担心平台是否支持该颜色,因为 Java 以跨平台和与硬件无关的方式支持颜色管理。创建 Color 对象的构造方法有如下两种:
Color col = new Color(int r, int g, int b)
Color col = new Color(int rgb)
-
rgb:颜色值,该值是红、绿、蓝三原色的总和。
-
r:该参数是三原色中红色的取值。
-
g:该参数是三原色中绿色的取值。
-
b:该参数是三原色中蓝色的取值。
Color 类定义了常用色彩的常量值,如表19.2所示。这些常量都是静态的 Color 对象,可以直接使用这些常量定义的颜色对象。绘图类可以使用 setColor() 方法设置当前颜色。语法如下:

setColor(Color color)
其中,参数 color 是 Color 对象,代表一个颜色值,如红色、黄色或默认的黑色。
例如,设置当前绘图颜色为红色的代码如下:
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g.setColor(Color.RED);
...
}
设置好绘图颜色后,再进行绘图或者绘制文本,系统会采用该颜色作为前景色。如果此时想绘制其他颜色的图形或文本,则需要再次调用 setColor() 方法设置其他颜色。 |
设置画笔
默认情况下,Graphics 类使用的画笔属性是粗细为1个像素的正方形,而 Graphics2D 类可以调用 setStroke() 方法设置画笔的属性,如改变线条的粗细、虚实,定义线段端点的形状、风格等。语法格式如下:
setStroke(Stroke stroke)
其中,参数 stroke 是 Stroke 接口的实现类对象。
setStroke() 方法必须接收一个 Stroke 接口的实现类对象作参数,java.awt 包中提供了 BasicStroke 类,它实现了 Stroke 接口,并且通过不同的构造方法创建画笔属性不同的对象。这些构造方法如下:
-
BasicStroke()。
-
BasicStroke(float width)。
-
BasicStroke(float width, int cap, int join)。
-
BasicStroke(float width, int cap, int join, float miterlimit)。
-
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)。
这些构造方法中的参数说明如表19.3所示。

cap 参数可以使用 CAP_BUTT、CAP_ROUND 和 CAP_SQUARE 常量,这 3 个常量对线端点的装饰效果如图19.5所示。

join 参数用于修饰线段交会效果,可以使用 JOIN_BEVEL、JOIN_MITER 和 JOIN_ROUND 常量,效果如图19.6所示。
编程训练(答案位置:资源包\TM\sl\19\编程训练)
【训练3】彩色扇形 绘制4个指定角度的填充扇形,并设置填充扇形的颜色分别为黄、红、青和黑,效果如图19.7所示。
【训练4】绘制线条不同粗细的椭圆 设置笔画的粗细,绘制4个线条不同粗细的椭圆,效果如图19.8所示。


