电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

75页
  • 卖家[上传人]:梦**
  • 文档编号:61127510
  • 上传时间:2018-11-24
  • 文档格式:PPT
  • 文档大小:324.50KB
  • / 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所示。,12.1 AWT工具集简介,12.1 AWT工具集简介,Button、Canvas、Scrollbar、List、Label、TextField、TextArea、Checkbox类是包java.awt 中的类,并且是java.awt包中的Component(组件)的子类。Java 把由Component类的子类或间接子类创建的对象称为一个组件。 Java把由Container的子类或间接

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

      3、 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.add(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中。它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型

      4、;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。,12.1 AWT工具集简介,java.awt包中提供了GUI设计所使用的类和接口,可从图12-1中看到主要类之间的关系。java.awt包提供了基本的Java程序的GUI设计工具。主要包括下述3个概念: 组件Component; 容器Container; 布局管理器LayoutManager。,12.2 AWT基本组件,Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。,12.2.1 标识(Label),AWT中最简单的就是标识了。所谓标识实质上就是一段文字,但它与文字不同的是它是AWT构件。所以在每次repaint时,不用重新添加。大多数AWT构件都有多种构造方法,Label类中定义了三种: Label()构造一个空的标识。 Label(String text)构造建立一个以String为内容的标识。 Labe

      5、l(String text, int alignment)定义一个String标识。,12.2.1 标识(Label),这里int参数代表一个给定的对齐方式。可以是靠左、靠右和居中,默认设置是居中。为了便于记忆,在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); 这两种方法的区别在于,如果这个标识不再需要修改,可以直接添加,如果还需要修改,应当先定义一个Label类后再添加。,12.2.2 按钮,按钮是AWT中最常见的一种组件,用户可以通过单击该组件来实现特定的操作,当然,如果希望按钮响应用户的单击操作,就需要实现相关的鼠标单击事件。有关事件处理

      6、方面的内容,将在12.5节中介绍。Button类的构造方法有两种: Button()构造一个没有名称的按钮。 Button(String label)构造一个指定名称的按钮。 按钮组件的生成方式如下: Button butobj=new Button (“确定“); 上面的语句生成了一个标记文字为“确定”的按钮。,12.2.3 画布,一个应用程序必须继承Canvas类才能获得有用的功能,比如创建一个自定义组件。如果想在画布上完成一些图形处理,则Canvas类中的paint()方法必须被重写。 Canvas组件监听各种鼠标,键盘事件。当在Canvas组件中输入字符时,必须先调用requestFocus()方法。 例12-2 程序清单 Canvas_Test.java,12.2.4 复选框,Checkbox类一般不需要定义相应的操作,它只是用来让用户设置某些选项。Checkbox类可以有两种使用方式。一种是一次可以选择多项,即复选框。另一种是一次只能选择一项,即单选按钮。这里介绍的是复选框,单选按钮另外介绍。 Checkbox类常用的构造方法有3种: Checkbox()构造一个空的复选框

      7、条目,未被选中。 Checkbox(String label)构造一个以String为标识的复选框条目,未被选中。 Checkbox(String label, CheckboxGroup group, boolean state)构造一个以String为标识的复选框条目。,12.2.4 复选框,这里的CheckboxGroup参数是指出这个条目所属的条目组,只有单选按钮才需要条目组,所以在这里可以用null,boolean参数是设置这个条目是否预先被选中,true是选中,false是未选中。所以如果需要将某个条目设置成预先选中的话,必须用这个构造方法。下面是个建立复选框的例子。 add(new Checkbox(“语文“); add(new Checkbox(“数学“); add(new Checkbox(“计算机“); add(new Checkbox(“物理“);,12.2.5 单选按钮(Radio Buttons),单选按钮的使用方法与复选框使用方法基本相同,所不同的是所有条目必须属于一个条目组,在这个条目组中,一次只能选择一个条目。CheckboxGroup类的构造方法是:

      8、CheckboxGroup()构造一个条目组。 在构造完一个条目组,就可以把条目加入到这个条目组中。在加入条目时,不要忘记只有一个条目能被预先选中。例如: CheckboxGroup cbqobj = 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类建立一个整数索引以便于检索。,12.2.6 菜单(Choice Menu),下面是一个较为完整的例子。 Choice c = new Choice(); c.addItem(“语文“); c.addI

      9、tem(“数学“); c.addItem(“计算机“); add(c); 在加入条目之后,不要忘记所做的这些只是定义了一个选择菜单,还需要用add方法把选择菜单添加到屏幕上。此外,在菜单被添加到屏幕上,仍可以加入新的条目。,12.2.7 菜单项(MenuItem),MenuItem是菜单树中的“叶子节点”。MenuItem通常被添加到一个Menu中。对于MenuItem对象可以添加ActionListener,使其能够完成相应的操作。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 = 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

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

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.