B.1 创建图形

用 Java 创建图形的方式有很多种,其中最简单的方式是用 java.awt.Canvasjava.awt.GraphicsCanvas 是屏幕上的矩形空白区域,应用程序可在其中绘画;Graphics 类提供了基本的绘图方法,如 drawLinedrawRectdrawString

下面的示例程序使用方法 fillOval 绘制一个圆:

  1. import java.awt.Canvas;
  2. import java.awt.Graphics;
  3. import javax.swing.JFrame;
  4. public class Drawing extends Canvas {
  5. public static void main(String[] args) {
  6. JFrame frame = new JFrame("My Drawing");
  7. Canvas canvas = new Drawing();
  8. canvas.setSize(400, 400);
  9. frame.add(canvas);
  10. frame.pack();
  11. frame.setVisible(true);
  12. }
  13. public void paint(Graphics g) {
  14. g.fillOval(100, 100, 200, 200);
  15. }
  16. }

这个 Drawing 类扩展了 Canvas,因此拥有 Canvas 提供的所有方法,包括 setSize。要了解其他方法,可参阅相关文档;而要找到这些文档,可在网上搜索 Java Canvas。

在方法 main 中,我们可以:

(1) 创建一个 JFrame 对象,这将是包含画布的窗口;

(2) 创建一个表示画布的 Drawing 对象,设置其宽度和高度,并将其加入到前面创建的框架中;

(3) 将框架的大小调整为与画布相同,再将其显示到屏幕上。

框架可见后,每当需要重绘画布时(如用户移动了窗口或调整了窗口的大小)都调用方法 paint。这个应用程序并不会在方法 main 返回时结束,而要等到 JFrame 关闭后才结束。如果运行这些代码,你将在灰色背景上看到一个黑色圆。