Java语言第12章 图形用户界面设计

上传人:梦** 文档编号:61127510 上传时间:2018-11-24 格式:PPT 页数:75 大小:324.50KB
返回 下载 相关 举报
Java语言第12章 图形用户界面设计_第1页
第1页 / 共75页
Java语言第12章 图形用户界面设计_第2页
第2页 / 共75页
Java语言第12章 图形用户界面设计_第3页
第3页 / 共75页
Java语言第12章 图形用户界面设计_第4页
第4页 / 共75页
Java语言第12章 图形用户界面设计_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《Java语言第12章 图形用户界面设计》由会员分享,可在线阅读,更多相关《Java语言第12章 图形用户界面设计(75页珍藏版)》请在金锄头文库上搜索。

1、12.1 AWT工具集简介 12.2 AWT基本组件 12.3 布局管理器 12.4 AWT事件处理模型 12.5 Swing简介,第12章 图形用户界面设计,12.1 AWT工具集简介,Java的抽象窗口工具包(Abstrac Window Toolkit,AWT)中包含了许多类来支持GUI设计。AWT由Java的java.awt提供,该包中有许多用来设计GUI的组件类,如按钮、菜单、列表和文本框等组件类,同时它还包含窗口、面板等容器类。 在学习GUI编程时,必须理解和掌握两个概念:容器类(Container)和组件类(Component)。java.awt包中一部分类的层次关系如图12-1

2、所示。,12.1 AWT工具集简介,12.1 AWT工具集简介,Button、Canvas、Scrollbar、List、Label、TextField、TextArea、Checkbox类是包java.awt 中的类,并且是java.awt包中的Component(组件)的子类。Java 把由Component类的子类或间接子类创建的对象称为一个组件。 Java把由Container的子类或间接子类创建的对象称为一个容器。,12.1 AWT工具集简介,可以向容器添加组件。Component类提供了一个public方法:add(),一个容器可以调用这个方法将组件添加到该容器中。 容器调用rem

3、oveAll()方法可以移掉容器中的全部组件;调用remove(Component c)方法可以移掉容器中参数指定的组件。 注意:容器本身也是一个组件,因此用户可以把一个容器添加到另一个容器中实现容器的嵌套。 在图12-1中需要注意的是,Applet类不是包java.awt中的类,上图只是说明它是Panel的子类,是Container的间接子类。它是包java.applet中的类,不同包中的类可以有继承关系。,12.1 AWT工具集简介,现在我们举一个向容器添加组件的应用程序的例子。 例12-1 程序清单 Component_Test.java,12.1 AWT工具集简介,import jav

4、a.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; public class Component_Test public static void main(String args) Frame fr=new Frame(“洪恩软件“); / 实例化一个容器对象。 fr.setLayout(new FlowLayout(); Button button1=new Button(“英语产品“); Button button2=new Button(“电脑产品“); fr.ad

5、d(button1); fr.add(button2); fr.setSize(200,300); /调用方法setSize(int,int)设置容器的大小。 fr.setBackground(Color.blue); /设置背景色为蓝色。 fr.setVisible(true); fr.validate(); ,12.1 AWT工具集简介,程序运行效果如图12-2所示。,12.1 AWT工具集简介,AWT是API为Java程序提供的建立图形用户界面工具集,AWT可用于Java的小应用程序(applet)和applications中。它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型

6、;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。,12.1 AWT工具集简介,java.awt包中提供了GUI设计所使用的类和接口,可从图12-1中看到主要类之间的关系。java.awt包提供了基本的Java程序的GUI设计工具。主要包括下述3个概念: 组件Component; 容器Container; 布局管理器LayoutManager。,12.2 AWT基本组件,Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并

7、能与用户进行交互的对象,例如一个按钮,一个标签等。,12.2.1 标识(Label),AWT中最简单的就是标识了。所谓标识实质上就是一段文字,但它与文字不同的是它是AWT构件。所以在每次repaint时,不用重新添加。大多数AWT构件都有多种构造方法,Label类中定义了三种: Label()构造一个空的标识。 Label(String text)构造建立一个以String为内容的标识。 Label(String text, int alignment)定义一个String标识。,12.2.1 标识(Label),这里int参数代表一个给定的对齐方式。可以是靠左、靠右和居中,默认设置是居中。为

8、了便于记忆,在Label类中定义了相应的常量,Label.LEFT、Label.CENTER和Label.RIGHT。因此要定义一个居中的标识,可以写成: Label l1 = new Label(myName, Label.CENTER);,12.2.1 标识(Label),上面是Label的定义方法,在定义之后,我们要用add方法将它添加到屏幕上,否则它还不会显示在屏幕上。需要强调的是,所有的AWT构件的使用过程都是这样的。 add(l1); 或者直接写成 add(new Label(myName); 这两种方法的区别在于,如果这个标识不再需要修改,可以直接添加,如果还需要修改,应当先定义

9、一个Label类后再添加。,12.2.2 按钮,按钮是AWT中最常见的一种组件,用户可以通过单击该组件来实现特定的操作,当然,如果希望按钮响应用户的单击操作,就需要实现相关的鼠标单击事件。有关事件处理方面的内容,将在12.5节中介绍。Button类的构造方法有两种: Button()构造一个没有名称的按钮。 Button(String label)构造一个指定名称的按钮。 按钮组件的生成方式如下: Button butobj=new Button (“确定“); 上面的语句生成了一个标记文字为“确定”的按钮。,12.2.3 画布,一个应用程序必须继承Canvas类才能获得有用的功能,比如创建一

10、个自定义组件。如果想在画布上完成一些图形处理,则Canvas类中的paint()方法必须被重写。 Canvas组件监听各种鼠标,键盘事件。当在Canvas组件中输入字符时,必须先调用requestFocus()方法。 例12-2 程序清单 Canvas_Test.java,12.2.4 复选框,Checkbox类一般不需要定义相应的操作,它只是用来让用户设置某些选项。Checkbox类可以有两种使用方式。一种是一次可以选择多项,即复选框。另一种是一次只能选择一项,即单选按钮。这里介绍的是复选框,单选按钮另外介绍。 Checkbox类常用的构造方法有3种: Checkbox()构造一个空的复选框

11、条目,未被选中。 Checkbox(String label)构造一个以String为标识的复选框条目,未被选中。 Checkbox(String label, CheckboxGroup group, boolean state)构造一个以String为标识的复选框条目。,12.2.4 复选框,这里的CheckboxGroup参数是指出这个条目所属的条目组,只有单选按钮才需要条目组,所以在这里可以用null,boolean参数是设置这个条目是否预先被选中,true是选中,false是未选中。所以如果需要将某个条目设置成预先选中的话,必须用这个构造方法。下面是个建立复选框的例子。 add(ne

12、w Checkbox(“语文“); add(new Checkbox(“数学“); add(new Checkbox(“计算机“); add(new Checkbox(“物理“);,12.2.5 单选按钮(Radio Buttons),单选按钮的使用方法与复选框使用方法基本相同,所不同的是所有条目必须属于一个条目组,在这个条目组中,一次只能选择一个条目。CheckboxGroup类的构造方法是: CheckboxGroup()构造一个条目组。 在构造完一个条目组,就可以把条目加入到这个条目组中。在加入条目时,不要忘记只有一个条目能被预先选中。例如: CheckboxGroup cbqobj =

13、 new CheckboxGroup(); Checkbox cl = new Checkbox ( “ one “ , cbgobj, true); Checkbox cZ = new Checkbox ( “ two “ , cbqobj, false);,12.2.6 菜单(Choice Menu),选择菜单是指弹出式菜单,用户可以在菜单的条目中进行选择。选择菜单在Java中是由Choice类实现的。Choice类的构造方法是: Choice()构造一个选择菜单。 构造完之后,再使用Choice类中的addItem方法加入菜单的条目。条目在菜单中的位置由条目添加的顺序决定,Choice类

14、建立一个整数索引以便于检索。,12.2.6 菜单(Choice Menu),下面是一个较为完整的例子。 Choice c = new Choice(); c.addItem(“语文“); c.addItem(“数学“); c.addItem(“计算机“); add(c); 在加入条目之后,不要忘记所做的这些只是定义了一个选择菜单,还需要用add方法把选择菜单添加到屏幕上。此外,在菜单被添加到屏幕上,仍可以加入新的条目。,12.2.7 菜单项(MenuItem),MenuItem是菜单树中的“叶子节点”。MenuItem通常被添加到一个Menu中。对于MenuItem对象可以添加ActionLi

15、stener,使其能够完成相应的操作。MenuItem类的构造方法有三种: MenuItem() 构造一个空的、没有快捷键的菜单项。 MenuItem(String label) 构造一个指定的没有快捷键的菜单项。 MenuItem(String label, MenuShortcut s) 构造一个指定的且有快捷键的菜单项。,12.2.7 菜单项(MenuItem),例如: Menu m1 = new Menu(“文件“); MenuItem mi1 = new MenuItem(“新建“); MenuItem mi2 = new MenuItem(“保存“); MenuItem mi3 =

16、 new MenuItem(“退出“); m1.add(mi1); m1.add(mi2); m1.addSeparator(); m1.add(mi3);,12.2.8 列表框(Scrolling List),列表框的功能与弹出式菜单相似,也是让用户在几个条目中作出选择,但又有一些区别。列表框是由List类实现的,List类的构造方法有三种: List() 构造一个空的列表框。 List(int rows) 构造一个指定行数的列表框。 List(int rows, boolean multipleMode) 构造一个指定行数的列表框。,12.2.8 列表框(Scrolling List),int类型参数为指定的行数,boolean类型参数确定这个列表是多选还是单选。true表示多选,false表示单选。与Choice类相同,在构造一个List类后,也要用addItem方法添加列表中的条目。在添加条目的同时,也会建立一个整数索引。,12.2.8 列表框(Scrolling List),让我们来看一个例子: List list = n

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

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

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