当前位置: 首页 > 工具软件 > AWT > 使用案例 >

Java的AWT

花稳
2023-12-01

AWTJava中支持图形化用户界面GUI设计的一个工具集。AWTAPI是独立于平台的,但设计出来的界面在各种平台的风格不同,利用API中各种类在特定平台下的对等组件peers提供具体平台下的实现。

欲建立一个GUI首先确定所用的组件及其布局,然后实现其事件的响应。组件的类型有多种,如常用的ButtonCheckBox等,均为ComponentMenuComponent类的子类,这些组件不能独立使用,必须放置于某个容器中。

容器本身也是一个组件,可以容纳多个组件,使它们成为一个整体,容器之间可以嵌套。常用的容器有FramePanelApplet等。其中Frame一般作为顶级窗口使用,而Panel则必须放在Window或者Frame中。

为了使得组件在容器中的摆放、布局有序,须使用布局管理器,Java提供了FlowLayoutBorderLayoutGridLayoutCardLayoutGridBagLayout这五种布局管理器,以实现不同风格的组件布局。其中FlowLayoutFrameApplet中默认的布局管理,CardLayout可以使得组件像卡片般叠放,且可以进行卡片切换。欲使用某种布局管理器时,须用setLayout设置容器的布局管理器为该类型。

当界面做好之后,组件的事件响应才是GUI设计与实现的核心。其过程为:当用户在界面上作出某种动作时,监测GUI的操作系统将发生的事件传送给GUI应用程序,程序则根据事件做出反应。AWT的事件处理模型为:事件源(组件)产生事件EVENT)交由事件处理器处理。目前的事件处理机制为委托方式(监听方式),即事件源(组件)注册了一个或者多个包含事件处理器的对象(监听器),当事件产生时组件将事件发送给监听器,由其对事件进行相应的处理。

其过程为:定义监听器、注册监听器。一个对象通过实现多种接口可以监听多种事件,也可以通过匿名类、内部类实现多个监听器。由于在定义监听器时利用适配器可以简化程序,但同时又限制了对其它类的继承,这时可以通过在类的内部定义监听类来实现多个监听器的动作。

 类似资料: