Java绘图类

绘图是高级程序设计中非常重要的技术。例如,应用程序可以绘制闪屏图片、背景图片、组件外观等,Web 程序可以绘制统计图、数据库中存储的图片资源等。正所谓 “一图胜千言”,使用图片能够更好地表达程序的运行结果,并且能够进行细致的数据分析与保存等。本节先来介绍 Java 程序设计中的绘图类 Graphics 与 Graphics2D。

Graphics类

Graphics 类是所有图形上下文的抽象基类,它允许应用程序在组件以及闭屏图像上进行绘制。Graphics 类封装了 Java 支持的基本绘图操作所需的状态信息,主要包括颜色、字体、画笔、文本、图像等。

Graphics 类提供了绘图常用的方法,利用这些方法可以实现直线、矩形、多边形、椭圆、圆弧等形状和文本、图片的绘制操作。另外,在执行这些操作之前,还可以使用相应的方法设置绘图的颜色和字体等状态属性。

Graphics2D类

使用 Graphics 类可以完成简单的图形绘制任务,但是它所实现的功能非常有限,如无法改变线条的粗细、不能对图片使用旋转和模糊等过滤效果。

Graphics2D 类继承 Graphics 类,实现了功能更加强大的绘图操作的集合。由于 Graphics2D 类是 Graphics 类的扩展,也是推荐使用的 Java 绘图类,因此本章主要讲解如何使用 Graphics2D 类实现 Java 绘图。

Graphics2D 是推荐使用的绘图类,但是程序设计中提供的绘图对象大多是 Graphics 类的实例对象,这时应该使用强制类型转换将其转换为 Graphics2D 类型。例如:

publicvoid paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g; //使用强制类型将Graphics类型转换为Graphics2D类型
    g2...
}
java