Java图形编程入门:使用Canvas绘制圆

需积分: 7 0 下载量 76 浏览量 更新于2024-09-11 收藏 12KB TXT 举报
本文将介绍如何在Java中使用图形用户界面(GUI)创建一个简单的画图应用。主要涉及的知识点包括Java AWT库中的Canvas类、Graphics对象以及事件监听。 在Java编程中,`Canvas` 类是 `java.awt` 包中的一个组件,它允许开发者在其上绘制自定义图形。在提供的代码示例中,`Mycanvas` 类扩展了 `Canvas`,并实现了设置圆心坐标(x, y)和半径(r)的方法,以便在 `paint` 方法中绘制椭圆。`paint` 方法接收一个 `Graphics` 对象,这是Java AWT中用于绘制图形的基本接口。`g.drawOval(x, y, 2*r, 2*r)` 语句使用 `Graphics` 对象来绘制一个椭圆,其中 (x, y) 是椭圆中心,2*r 是椭圆的宽度和高度,因为椭圆的参数是以直径而不是半径给出的。 另一个类 `WindowCanvas` 扩展了 `Frame` 类,实现了 `ActionListener` 接口,这表明它能够处理用户交互。在这个类中,创建了一个 `Mycanvas` 实例,并添加到 `Frame` 的中央,同时创建了文本字段(`TextField`)用于输入圆的半径和中心坐标,以及一个按钮(`Button`)。当用户点击按钮时,会触发 `actionPerformed` 方法,该方法解析文本字段中的数值并调用 `Mycanvas` 对象的相关方法更新图形。 在 `actionPerformed` 方法中,使用 `Integer.parseInt` 函数将文本字段中的字符串转换为整数,然后更新 `Mycanvas` 实例的属性。这些更改将在下一次调用 `repaint` 方法时反映在屏幕上,因为 `Canvas` 的绘图是在 `paint` 方法中完成的,而 `repaint` 会触发 `paint` 方法的调用。 这个简单的程序展示了如何在Java中结合使用GUI组件和自定义绘图功能来创建一个交互式的应用。对于Java初学者来说,理解如何在组件上绘制图形以及如何处理用户输入是非常重要的基础知识。通过学习这个例子,可以进一步了解Java AWT库和事件处理机制,这对于开发任何包含图形界面的Java应用程序都是必要的。