Java AWT图形界面编程:绘图与容器

需积分: 9 5 下载量 17 浏览量 更新于2024-07-13 收藏 612KB PPT 举报
"AWT(Absolute Window Toolkit)是Java早期的图形用户界面(GUI)库,用于创建具有图形界面的应用程序。本资源主要介绍了如何在Java中使用AWT进行绘图和用户界面设计,包括基本的绘图方法以及AWT中的容器、Frame和Panel的使用,还有布局管理器的概念。" 在Java编程中,AWT(抽象窗口工具包)提供了创建图形用户界面的基本元素。绘图是通过Component类中的几个关键方法实现的: 1. `paint(Graphics g)`:这是组件绘图的主要方法,传入一个Graphics对象,该对象提供了绘制图形所需的所有功能。 2. `update(Graphics g)`:这个方法通常用来刷新组件的外观,它会调用`paint()`方法来完成实际的绘制。 3. `repaint()`:这是用于请求组件更新的便捷方法,它会调用`update()`,从而触发组件的重新绘制。 Graphics类提供了丰富的绘图函数,例如: - `drawLine(int x1, int y1, int x2, int y2)`:画一条从(x1, y1)到(x2, y2)的直线。 - `drawString(String string, int left, int bottom)`:在指定位置(left, bottom)绘制一个字符串。 - `drawImage(Image image, int left, int top, ImageObserver observer)`:在坐标(left, top)处绘制指定的图像。 - `drawRect(int left, int top, int width, int height)`:画一个左上角位于(left, top)、宽和高分别为width和height的矩形。 - `drawOval(int x, int y, int width, int height)`:画一个以(x, y)为中心,宽和高分别为width和height的椭圆。 - `fillRect(int left, int top, int width, int height)`:填充一个矩形区域。 - `fillOval(int x, int y, int width, int height)`:填充一个椭圆区域。 在AWT中,容器(Container)是用来组织和显示组件的类。有两种主要的容器类型:Window和Panel。 - **Frame容器**:作为独立窗口存在,是Window类的一个子类。可以通过`Frame(String title)`构造方法创建,并通过`add()`方法添加组件。例如,`FrameShower.java`示例展示了如何创建一个带有按钮的Frame窗口。 - **Panel容器**:Panel不能单独存在,必须嵌入在其他容器如Window或其子类中。可以使用默认的`Panel()`构造方法创建Panel,并通过`add()`方法添加组件。在`MyFrame.java`示例中,创建了一个包含黄色背景的Panel,并添加到了蓝色背景的Frame中。 布局管理器在AWT中扮演着重要角色,它们决定了组件在容器内的排列方式。可以通过以下方式处理布局管理器: - **取消布局管理器**:使用`setLayout(null)`可以禁用当前的布局管理器,允许绝对定位组件。 - **默认布局管理器**:Window、Frame和Dialog的默认布局管理器是`BorderLayout`,它将组件按照北(North)、南(South)、东(East)、西(West)和中心(Center)五个区域进行布局。Panel的默认布局管理器不是固定的,通常需要手动设置。 了解和熟练掌握AWT绘图及容器、布局管理器的使用是Java GUI编程的基础,这有助于创建出美观且功能完善的图形用户界面。