AWT 是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图形界面的组件,如窗口、按钮、文本框、对话框等。在JDK 中针对每个组件都提供了对应的Java 类,这些类都位于java.awt 包中。接下来通过一个图例来描述这些类的继承关系,如图9.1 所示。
图9.1 继承关系
从图9.1 可以看出,在AWT 中组件分为两大类,这两类的基类分别是Component 和Menu Component。其中,MenuComponent 是所有与菜单相关组件的父类;Component 则是除菜单外其他AWT 组件的父类,它表示一个能以图形化方式显示出来,并可与用户交互的对象。
Component 类通常被称为组件,根据Component 的不同作用,可将其分为基本组件类和容器类。基本组件类是诸如按钮、文本框之类的图形界面元素,而容器类则是通过Component的子类Container 实例化的对象。Container 类表示容器,它是一种特殊的组件,可以用来容纳其他组件。Container 容器又分为两种类型,分别是Window 和Panel。接下来对这两种类型进行详细讲解。
1. Window
Window 类是不依赖其他容器而独立存在的容器。它有两个子类,分别是Frame 类和Dialog类。Frame 类用于创建一个具有标题栏的框架窗口,作为程序的主界面,Dialog 类用于创建一个对话框,实现与用户的信息交互,窗口(Frame)是 Window 的子类,它是顶级窗口容器,可以添加组件、设置布局管理器、设置背景色等,如图9.2 所示。
图9.2 Frame 类创建的框架窗口与Dialog 类创建的对话框
通常情况下,生成一个窗口要使用Window 的派生类窗口实例化,而非直接使用Window类。窗口的外观界面和通常情况下在Windows 系统下的窗口相似,可以设置标题名称、边框、菜单栏以及窗口大小等。窗口对象实例化后都是大小为零并且默认是不可见的,因此,在程序中必须调用setSize()设置大小,调用setVisible(true)来设置该窗口为可见。
注意:AWT 在实际的运行过程中是调用所在平台的图形系统,因此,同样一段AWT 程序在不同的操作系统平台下运行所看到的图形系统是不一样的。例如在Windows 下运行,显示的窗口是 Windows 风格的窗口;而在 UNIX 下运行时,显示的则是UNIX 风格的窗口。(www.xing528.com)
2. Panel
Panel 也是一个容器,但它不能单独存在,只能存在于其他容器(Window 或其子类)中,一个Panel 对象代表了一个长方形的区域,在这个区域中可以容纳其他组件。在程序中通常会使用Panel 来实现一些特殊的布局。
面板(Panel)是容器的一个子类,它提供了建立应用程序的容器。可以在一个面板上进行图形处理,并把这个容器添加到其他容器中(例如 Frame、Applet)。后面会单独介绍 Applet(一种特殊的 Panel)。
【例9.1】为了更直观地认识GUI,接下来通过一个案例来创建一个简单的图形界面,如文件9-1 所示。
文件9-1 Example01.java
执行结果
图9.3 【例9.1】执行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。