Java 2D API強大而復雜,不過大多時候我們只需使用java.awt.Graphcis類的部分功能。下面的內容將覆蓋大多數的常見應用。
Graphics 類中的方法大致可以分為兩類:
- Draw and fill方法,用於繪制基本的圖形、文本和圖像;
- 屬性設置方法,用於控制繪制和填充的效果。setFont()和setColor()等方法就屬於這類方法。
下圖顯示這些方法和圖像的對應關系:
1. drawString()
用於繪制文本:
g.drawString("Hello", 10, 10);
參數分別為:
- 待繪制字符串
- 起點x和y坐標
| import java.applet.Applet; import java.awt.Graphics;
public class Graphics_drawString extends Applet { @Override public void paint(Graphics g){ g.drawString("Hello Graphics", 75, 100); } } |
輸出界面如下:
2. drawImage
繪制圖像:
| import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit;
public class Graphics_drawImage extends Applet { @Override public void paint(Graphics g) { Image img = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("th.png")); g.drawImage(img, 0, 0, 400, 500, this); } } |
th.png是我隨便選的一個圖片,輸出界面如下:
3. drawLine, drawArc, drawRect, drawOval, drawPolygon
這些方法用於繪制不同的形狀。
根據需求不同,可以根據以下的建議選擇Graphics的方法:
- 是否以圖片原始大小渲染圖片,或者根據指定rectangle縮放圖片;
- 對圖片的透明區域,是填充還是不管它。
2D graphics 的每個點都需要 (x,y) 坐標確定,所以所以的繪制和填充方法都需要位置信息。例如,繪制線條:
Graphics.drawLine(int x1, int y1, int x2, int y2);
其中,(x1, y1)是線條起點,(x2, y2) 是線條終點。



