Java 程序设计 第10章 AWT组件

上传人:E**** 文档编号:89395541 上传时间:2019-05-24 格式:PPT 页数:42 大小:2.17MB
返回 下载 相关 举报
Java 程序设计 第10章 AWT组件_第1页
第1页 / 共42页
Java 程序设计 第10章 AWT组件_第2页
第2页 / 共42页
Java 程序设计 第10章 AWT组件_第3页
第3页 / 共42页
Java 程序设计 第10章 AWT组件_第4页
第4页 / 共42页
Java 程序设计 第10章 AWT组件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《Java 程序设计 第10章 AWT组件》由会员分享,可在线阅读,更多相关《Java 程序设计 第10章 AWT组件(42页珍藏版)》请在金锄头文库上搜索。

1、第10章 AWT组件,10.1 AWT介绍 10.2 常用的AWT组件介绍 10.3 布局类及布局管理器 10.4 JDK的事件处理机制 10.5 绘图类的使用 10.6 综合运用实例,使用面向对象程序设计的方法来编写具有 图形用户界面(GUIGraphics User Interface)的程序。 要设计和实现GUI的三大工作包括: 创建GUI的构成组件, 指定组件在界面中的基本布局, 对用户事件进行响应。,10.1 AWT介绍,软件包java.awt(简称为AWT包) 图形用户界面中所显示的各种对象都统称为组件(Component)。 查看 JDK附带的Java Platform Stan

2、dard Edition 6 API规范文档。 根类java.awt.Component是所有AWT组件的根。它的子类,如Button、Canvas、Checkbox等都是本章后几节所要介绍的主要内容,因此本章中所有程序的开始部分都需要引入软件包AWT,即import java.awt.*。,10.1 AWT介绍,软件包AWT中构成图形用户界面的各种组件可以被分为 容器组件和控制组件。 容器组件中可以包含控制组件和其他容器组件。 控制组件是组成图形用户界面的最小单元,编程者按照一定的布局将其放置在容器组件中。,10.2 常用的AWT组件介绍,容器组件分为顶层容器和非顶层容器 顶层容器是指可以独

3、立显示的窗口, 顶层容器组件类是Window。 非顶层容器则是非独立显示的窗口 非顶层容器包括Panel及ScrollPane, Panel的重要子类是Applet类。,容器组件类的继承层次结构,10.2 常用的AWT组件介绍,10.2.1 容器组件,1. Frame类 顶层容器中最常用的类是Frame类。 Frame类的对象产生的是一个具有标题栏和边界的窗口。 Frame类的常用构造方法 Frame() Frame(String s) 说明: Frame类创建的窗口默认初始化为不可见,可使用setVisible(true)方法使之变为可见。 Frame类创建的窗口的默认布局管理器是Borde

4、rLayout。,10.2 常用的AWT组件介绍,【例10-1】一个由Frame创建的窗口。 【例10-2】通过创建Frame的子类来创建窗口。,图10-3 Frame类创建的窗口,图10-4 创建简单窗口,10.2 常用的AWT组件介绍,2. Dialog,FileDialog类 对话框 Dialog是一个带标题和边界的顶层窗口,一般用于从用户处获得某种输入。 Dialog有两种类型: 非模态的(modeless,默认情况)或模态的(modal)。 Dialog的默认布局为BorderLayout。 Dialog类常用的构造方法,10.2 常用的AWT组件介绍,Dialog的子类FileDi

5、alog类也显示为一个对话框窗口,用户需要从中选择文件后再进行下一步的操作。 它是一个模态对话框,将阻塞其余应用程序,直到用户选择一个文件。 常用构造方法,10.2 常用的AWT组件介绍,3.Panel类 非顶层容器最常用的类是Panel类及其子类Applet类。 Panel和Applet默认的布局管理器是FlowLayout 一般使用Panel类构造面板、放置组件的方法如下所示, Panel p1= new Panel(); / 构造Panel类的对象p1 p1.add();/ 此段语句的功能是在p1中添加控制组件或其他容器组件 add( p1 ); / 此段语句的功能是将p1作为一个整体,

6、添加到其所在容器组件中去 ,10.2 常用的AWT组件介绍,控制组件是图形用户界面中与用户完成一次交互操作的组件元素。 Component类的子类中除了Container容器类(及其子类)之外,其他的类及其子类创建的对象都可以作为控制组件来使用,它们包括Button、Canvas、Checkbox、Choice、Label、List、Scrollbar和TextComponent(它的子类包括TextArea和TextField)。 在容器组件中添加组件的方法是add(Component cp) 移除组件的方法是remove(Component cp) 设置组件布局的方法是setLayout(

7、LayoutManager mgr)。,10.2 常用的AWT组件介绍,10.2.2 控制组件,1. Button类 Button类,用于创建一个按钮组件。它的构造方法有: Button(),构造一个无文字标识的按钮。 Button(String label),构造一个带指定字符串label的按钮。,【例10-3】按钮组件的添加。,图10-5 窗口中添加两个按钮组件,10.2 常用的AWT组件介绍,2.Checkbox,CheckboxGroup类 Checkbox类,用于创建复选框组件,可全部或部分选中(或不选中)其中的选项。 构造方法介绍。 CheckboxGroup类,可以出现在Chec

8、kbox构造方法中,用于构造单选框组件。构造方法:CheckboxGroup()。,【例10-4】复选框和单选框组件的使用。,图10-6 窗口中添加复选框组件和单选框组件,10.2 常用的AWT组件介绍,3. Label,TextField,TextArea类 Label类,用于创建标签组件。一个标签组件只显示一行只读文本。 构造方法介绍。 TextField类,用于创建允许编辑的单行文本文本框组件。 构造方法介绍。 TextArea类,文本框组件类用于创建允许编辑的多行文本文本框。 构造方法介绍。,10.2 常用的AWT组件介绍,【例10-5】标签和文本框的使用。 【例10-6】实现Labe

9、l组件自身的水平滚动。,图10-7 窗口中添加标签组件和单行、多行文本框组件,图10-8 滚动面板中添加Label组件,10.2 常用的AWT组件介绍,4.Choice,List类 Choice类,用于创建一个弹出式选择菜单组件,每次只显示菜单中的一项。 构造方法:Choice()。 add(String item)方法。 List类,用于创建一个可滚动显示的文本项列表,允许一次性显示列表中的多项。 构造方法介绍。 add(String item)方法。,10.2 常用的AWT组件介绍,【例10-7】弹出式菜单和列表的使用。,图10-9 窗口中添加弹出式菜单组件和列表组件,10.2 常用的AW

10、T组件介绍,5. MenuBar,Menu,MenuItem,CheckboxMenuItem类 MenuBar菜单栏类,用于创建一个空的菜单栏。 构造方法是MenuBar() Menu菜单类,用于创建MenuBar之中的下拉式菜单组件。 构造方法是Menu(String label) MenuItem菜单选项类,用于创建Menu之下的各个选项。 构造方法是MenuItem(String label) CheckboxMenuItem就是用于创建菜单选项中的复选项的类。 构造方法是CheckboxMenuItem(String label),10.2 常用的AWT组件介绍,根据对程序用户界面的

11、实际需求,编程者需要事先设计出菜单的各个组成部分,然后按照以下基本步骤来建立菜单: (1)创建MenuBar对象; (2)创建菜单栏中的各个Menu对象,注意Menu对象也包括含子菜单的菜单选项; (3)创建每个菜单中的MenuItem对象、CheckboxMenuItem对象; (4)使用add()方法,为每个菜单添加菜单选项和复选框菜单选项,以及含子菜单的菜单选项; (5)使用add()方法,为菜单栏添加各个菜单; (6)在窗口中使用setMenubar(MenuBar)方法设置菜单栏。,10.2 常用的AWT组件介绍,【例10-8】菜单的创建。,10.2 常用的AWT组件介绍,Layou

12、tManager类,即布局管理器,是定义如何布局Container类(及其子类)中各组件的接口。 在软件包AWT中实现LayoutManager接口的类(布局类)包括 BorderLayout FlowLayout GridLayout CardLayout GridBagLayout,10.3 布局类及布局管理器,边界布局类,它对组件在容器中所处的位置进行安排,调整其大小使其符合容器的五个区域。 构造方法介绍。 这个布局类包括南、北、东、西和中间五个区域,每个区域最多只能包含一个组件(包括容器组件和控制组件),并通过相应的静态类常量来标识组件所处的位置,这些静态类常量包括: BorderLa

13、yout.SOUTH BorderLayout.NORTH BorderLayout.EAST BorderLayout.WEST BorderLayout.CENTER,10.3 布局类及布局管理器,10.3.1 BorderLayout类,【例10-9】BorderLayout布局的使用。,图10-11 BorderLayout布局,10.3 布局类及布局管理器,流布局类,用于以类似流的方式放置容器中的组件。 构造方法介绍。 【例10-10】FlowLayout布局的使用。,图10-12 FlowLayout布局,10.3 布局类及布局管理器,10.3.2 FlowLayout类,网格布局

14、类,它以矩形网格形式对容器的组件进行放置。 构造方法介绍。 【例10-11】GridLayout布局的使用。,图10-13 GridLayout布局,10.3 布局类及布局管理器,10.3.3 GridLayout类,卡片布局类。它将容器中的每个组件看作一张卡片,一次只能看到一张卡片。 构造方法:CardLayout() 。 注:进行复杂的图形用户界面设计时,需要根据实际需求,将各种布局类和容器类(包括面板类Panel)相结合来完成编程工作。 【例10-12】CardLayout的使用。,图10-14 CardLayout布局,10.3 布局类及布局管理器,10.3.4 CardLayout类

15、,Java语言提供的事件处理机制中包含的重要元素是 事件源、事件以及事件监听器。 事件源,即能够产生事件的各种组件 包括容器组件和控制组件。 每个事件源可以产生多种类型的事件。 这些事件由其对应的事件对象(EventObject)来进行封装,事件对象是由事件类创建的对象,用于记录事件源的相关信息。 处理事件的就是事件监听器, 即实现了事件监听器接口的类所创建的对象或由事件适配器类所创建的对象。,10.4 JDK的事件处理机制,10.4.1 事件处理机制的介绍,10.4 JDK的事件处理机制,10.4 JDK的事件处理机制,要完成图形用户界面中关于事件处理的程序设计,一般需要完成以下两个步骤:

16、(1)创建一个事件监听器。 (2)所有可能产生事件的事件源(即组件)注册其事件监听器。 注意:一个事件源可以产生多种事件,一个事件监听器可以监听多个事件源产生的事件。,10.4 JDK的事件处理机制,1. ActionListener动作事件监听器 【例10-13】点击界面上的一个按钮,起到退出程序的作用。 【例10-14】点击界面上的一个按钮,起到退出程序的作用。 例程10-13的简化版,运行结果相同。,图10-15 点击按钮后退出该程序,10.4 JDK的事件处理机制,10.4.2 各种事件及其处理方法,本例子修改自例10-12。 【例10-15】卡片布局中实现不同卡片的显示。,图10-17 CardLayout的使用,10.4 JDK的事件处理机制,2. WindowListener窗口事件监听器,WindowAdapter窗口事件适配器类 【例10-16】编写一个程序,点击窗口的“关闭”按钮,起到退出程序的作用。,10.4 JDK的事件处理机制,【例10-18】编写一个简单的文本编辑程序,实现保存文本的功能。,图10-18 实现

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号