Graphics 类支持几种确定图形环境状态的特性。以下列出了部分特性:

1.Color:当前绘制颜色,它属于 java.awt.Color 类型。所有的绘制、着色和纯文本输出都将以指定的颜色显示。 

2.Font:当前字体,它属于 java.awt.Font 类型。它是将用于所有纯文本输出的字体。 

3.Clip:java.awt.Shape 类型的对象,它充当用来定义几何形状的接口。该特性包含的形状定义了图形环境的区域,绘制将作用于该区域。通常情况下,这一形状与整个图形环境相同,但也并不一定如此。 

4.ClipBounds:java.awt.Rectangle 对象,它表示将包围由 Clip 特性定义的 Shape 的最小矩形。它是只读特性。 

5.FontMetrics:java.awt.FontMetrics 类型的只读特性。该对象含有关于图形环境中当前起作用的 Font 的信息。 

6.Paint Mode:该特性控制环境使用当前颜色的方式。如果调用了 setPaintMode() 方法,那么所有绘制操作都将使用当前颜色。如果调用了 setXORMode() 方法(该方法获取一个 Color 类型的参数),那么就用指定的颜色对像素做“XOR”操作。XOR 具有在重新绘制时恢复初始位模式的特性,因此它被用作橡皮擦除和动画操作。

 

Color

  每个Graphics维护一个颜色,这个颜色可以用于下面给出的方法操作:
  ·void setColoer(Color color)
  ·Color getColor()

 

Font

  用来绘制文本的字体可以用下面的方法规定和读取:
  ·void setFont(Font f)
  ·Font getFont()
  字体度量由java.awt.FontMetrics类表示,在该类中,提供了一些关于字体的详细信息,例如字体的高度、倾斜度、行间距等。在Graphics类中,提供两种方法返回对FontMetrics的引用。这两种方法如下:
  ·FontMetrics getFontMetrics()
  ·FontMetrics getFontMetrics(Font f)
  方法中的无参数方案(第一种方法)返回的字体度量,和Graphics当前的字体结合在一起。第二种方法返回的字体尺度和指定的字体结合在一起。尽管是非镶嵌方法,你同样可以通过设置特殊字体来间接地指定字体尺度。

 

Clip

  每个Graphics也维护一个剪贴矩形。图形操作一般在由Graphics的剪贴矩形指定的矩形中执行。其具体设置如下:

·void setClip(int x,int y,int w,int h)
  ·Rectangle getClipBounds()
  ·void setClip(Shape)
  ·Shape getClip()
  ·void clipRect(int x,int y,int w,int h)


  从上面的讲述中,我们知道剪贴矩形是通过四个整型参数或通过java.awt.Shape来指定的,上面方法中的四个整型参数构成一个矩形的封闭框。第三个方法中的Shape接口是java 2D API的一部分,关于Java 2D API,本卷中我们将不作讨论,但我们将在本套书的第3卷中进行讨论,Shape所表示的形状可以是非矩形的,所以它可以为输出设备定义一个非矩形的剪贴矩形。

 

Paint Mode

  提供下面两种设置绘图模式的方法:
  ·void setPaintMode()
  ·void set setXORMode()
  setPaintMode()设置paint图形模式,意味着后面的着色操作将改写现有的图形,setXORMode()允许绘制和擦掉现在图形而不干扰其下面的图形。Paint模式是图形模式的默认模式,而XOR模式在许多情形下是由手工设置的,例如在下一个绘图程序中使用橡皮带式或压条法生成图形。