Java图形界面编程:随机绘制椭圆

需积分: 9 9 下载量 25 浏览量 更新于2024-07-13 收藏 612KB PPT 举报
"这篇教程是关于Java图形界面编程的,主要展示了如何随机画椭圆以及对AWT容器、Frame和Panel的理解,同时提到了布局管理器的概念。" 在Java编程中,图形用户界面(GUI)的创建是通过AWT(Abstract Window Toolkit)或Swing库实现的。本示例中的"随机画椭圆OvalDrawer.java"是一个基于AWT的简单应用,它演示了如何在图形界面上动态地绘制和更新椭圆。 首先,`OvalDrawer` 类不仅包含了 `paint()` 方法用于绘制椭圆,还实现了 `Runnable` 接口。`Runnable` 接口的实现使得 `OvalDrawer` 能够作为一个线程运行。在 `run()` 方法中,程序不断地生成新的随机坐标和尺寸,从而改变椭圆的位置和大小。每400毫秒,椭圆的坐标`x`和`y`、宽度`width`和高度`height`都会被随机重置,颜色`color`也会从预定义的颜色数组中随机选取。然后调用 `repaint()` 方法来刷新组件,使得界面实时更新,显示新的椭圆位置和形状。 接着,我们来看看 `Frame` 和 `Panel` 这两种AWT容器。`Frame` 是一个顶级容器,它可以独立存在,通常用作应用程序的主要窗口。通过传递标题字符串给构造函数 `Frame(String title)`,我们可以创建一个新的 `Frame` 实例。添加组件到 `Frame` 中使用 `add()` 方法,并通过 `setVisible(true)` 来显示窗口。在 `FrameShower.java` 示例中,一个按钮被添加到 `Frame` 中。 `Panel` 容器则不能独立存在,它必须嵌入到其他容器(如 `Window` 或其子类)中。在 `MyFrame.java` 示例中,一个 `Panel` 被创建并添加到 `Frame` 的子类 `MyFrame` 中,同时面板上有一个按钮。`Panel` 使用默认的布局管理器,可以通过 `setBackground()` 方法改变背景颜色。 布局管理器在Java GUI中扮演着重要角色,它们自动调整组件的大小和位置。如果要取消布局管理器,可以使用 `setLayout(null)`。在容器的默认布局管理器中,`Window`,`Frame` 和 `Dialog` 默认使用 `BorderLayout`,这是一种将容器分为五个区域(北、南、东、西和中心)的布局。 这个教程涵盖了Java图形界面的基本元素,包括动态图形绘制、容器使用和布局管理,对于初学者来说是一份很好的学习资料。