




已阅读5页,还剩79页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/5/22,1,网络编程第八章挥图形用户界面,赵建利山东科技大学信息科学与工程学院信息科学与工程学院,山东大学信息科学与工程学院简介,2020/5/22,2,简介,图形用户界面(GUI)数据图形显示形式友好的交互式方式简化计算机软件GUI的学习过程示例,Microsoft IPODIPHONEIPAD,2020/5/22,3 5/22,3丽莎项目失败了,1985年4月董事会决定撤销其管理权。1996年12月,回到苹果后,在乔布斯的改革下,“苹果”终于盈利了。乔布斯上任时,苹果亏损高达10亿美元,但一年后奇迹般地盈利3.09亿美元。2011年8月初,苹果市值(约3,371亿美元)超过埃克森美孚(约3,333亿美元),成为全球市值最大的上市公司和全球最大的信息技术公司。总体而言,Swing表示,早期版本的图形用户界面组件所在的包:java.awt与平台有很强的相关性。 JavaX软件包。功能较弱的swingGUI组件对平台的依赖性较小。与AWT相比,Swing可以克服不同操作系统导致的图形界面差异。Swing图形用户界面可以使用指定的操作系统样式自定义界面。在组件控制机制等方面,两种类型的图形用户界面之间存在一些冲突。通常建议使用秋千。2020/5/22,5,组件,组件类层次结构。大多数swing组件类父类,2020/5/22,6,Swing组件,组件和容器都是Swing图形用户界面的一部分:容器的所有组件都必须放在容器本身中。容器也是组件分类的顶级容器(小程序、对话框和框架)常规容器(面板、滚动窗格、拆分窗格、选项卡窗格、工具栏)其他容器组件基本控制组件(按钮、单选按钮、复选框、组合框、列表框)不可编辑信息显示组件(标签、进度条)可编辑信息显示组件(文本编辑区域、文本区域)、2020/5/22、7、一些图形用户界面组件、JLabel文本框(JTextField)按钮(JButton)复选框(JCheckBox)组合框(jcommbox)文本(jcommbox) 标签为图形用户界面提供了文本(主)或图像(也可以)信息对应类(JLabel)(JComponent的子类)可以显示:单行只读文本信息图像同时显示文本和图像信息程序一般不修改标签的内容,例如,2020/5/22,9,示例8-1 J _ LableFrame。 Java,用于向框架添加标签的例程,2020/5/22,10,文本框(JTextField),显示单行文本信息的文本框(JTextField),2020/5/22,11,例如,示例8-2 J _ Text。Java,文本编辑框例程,2020/5/22,12,按钮(JButton)。当鼠标左键点击按钮组件时,它可以触发特定的事件。在Java中,通用按钮包括:命令按钮复选框(JCheckBox)单选按钮(JRadioButton),2020/5/22/5/22,13,按钮类层次,2020/5/22,14,示例,j _ button.java,命令按钮,复选框和单选按钮例程,2020/5/22,15,JComboBox,组合框(JCOMBOX)可以从下拉列表框中选择一个列表项。有时它也被称为下拉列表类。JCOMBOX中的方法getSelectedIndex()返回当前选定的项setMaximumRowCount(n)。将自动添加滚动条设置为显示最多列表项目的项目数。2020/5/22,16,示例,j _ lines。Java,组合框,列表框,文本区和滚动窗格例程,2020/5/22,17,JFrame),Swing组件从功能上可以分为三种类型,即顶层组件,中间组件和基本组件。JFrame是顶级组件。简单的描述是一个可以独立显示的组件。中间组件是可以用作载体但不能独立显示的组件。基本组件可以放在其中,但只能依靠顶部容器来显示。基本组件是实现人机交互的基本组件。类JFrame是Java . awt . frame Java . lang . object |-Java . 组件|-Java . awt . container |-Java . awt . window |-Java . awt . frame |-javax . swing . JFrame,2020/5/22,18的子类,Panel是一个中间容器,它将组件添加到面板,然后将面板添加到其他容器。您可以添加各种组件(包括面板组件)。面板的大小由它包含的组件决定。当组件数量增加时,面板(JPanel)也会增加。2020/5/22,19,例如,示例8-5 J _ Panel。Java,panel routine,2020/5/22,20,本章概述,基本GUI组件布局管理器事件处理模型菜单,2020/5/22,21,布局管理器,用于控制容器中组件的布局模式。布局管理器应尽最大努力使用现有的基本布局模式来处理组件布局的大部分细节,以设置顶层容器的布局管理器:首先,通过顶层容器getContentPane获取顶层容器的内容窗格,然后通过java.awt.Container的setLayout设置内容窗格的布局管理器;其他容器的设置布局管理器:通过java.awt.Container的设置布局直接设置内容窗格的布局管理器,2020/5/22,22,布局管理器,FlowLayoutGridLayoutBordLayoutBordLayout组合布局管理器,2020/5 2020/5/22,23,FlowLayout,最基本的布局管理器是java.awt.Applet、java.awt.Panel和javax.swing.JPanel的默认布局。当组件排列在一行容器的末尾时,从下一行开始的每一行组件的对齐方式可以是:左对齐、中间对齐(默认对齐)和右对齐。2020/5/22,24,等级FlowLayout对齐方法,设置对齐(位置_常数)FLOWLAYOUT。左侧流程布局。中心流程图。RIGHT,2020/5/22,25,GRIDLAYOUT,根据行和列将容器分成棋盘形,然后组件从第一行开始从左到右依次放置在这些矩形区域中,一行已满,下一行开始。公共网格布局(introws,intcols),2020/5/22,26,例如,示例8-6j _ gridlayout.java,网格布局管理器例程,2020/5/22,27,BorderLayout,是容器JFrame和JApplet的默认布局,将容器分成五个区域。北(上)南(下)西(左)东(右)中(中)每个区域最多只能有一个组件,2020/5/22,28,类边界布局方法,构造方法:边界布局(hGap,vGAP);HGap-区域间水平间隙vGap-区域间垂直间隙上述两个数据的默认值为0添加组件我的容器。添加(组件,位置)组件-组件位置-(边界布局)。需要添加到容器中的北、南、东、西。中心,2020/5/22,29,例如,j _ border。Java,边界布局管理器例程,2020/5/22,30,卡片布局,卡片布局有点像“扑克牌”,一个组件压在另一个组件上,因此一次只能看到一个组件,例如2020/5/22,31。示例8-8j _ cardlayout.java,卡片布局管理器例程,2020/5/22,32,boxlayout,boxlayout允许多个组件在容器中水平或垂直排列,而不需要换行符或列。2020/5/22,33,例,例8-9J _ cardlayout.java,卡片布局管理器例程,2020/5/22,34,布局管理器嵌套,实际上是容器的嵌套,嵌套的容器可以有不同的布局管理器。Java、一个组合布局例程和Swing中的类采用模型、视图、模型视图控制器(MVC)模式作为每个组件的基本设计。MVC模式是GUI编程中一种常见的设计方法,所以理解MVC模式不仅有助于学习Swing,而且有助于设计GUI程序。MVC模式将GUI组件分为三个基本元素:模型、视图和控制器。每个元素在组件的性能中都起着至关重要的作用。模型包含每个组件的数据状态。不同类型的组件有不同的型号。组件的数据状态是什么?例如,滚动条组件(JScrollBar)的数据状态包括滚动条的当前位置、最大值、最小值和宽度。该数据信息是滚动条组件的模型。视图是屏幕上组件的表示。由于Java是一种跨平台语言,同一组件在不同平台上的显示是不同的,在不同的外观风格下也是不同的。为了让Java GUI程序“只写一次,随处运行”,Swing组件根据它们的模型和当前的显示环境来绘制组件。控制器控制组件如何与事件交互。事件有多种形式,如鼠标点击、获得或失去焦点、键盘点击等。当这些事件发生时,控制器根据事件类型确定组件如何响应,图MVC模式,2020/5/22,39,本章概述,基本图形用户界面组件布局管理器事件处理模型菜单,2020/5/22,40,事件处理模型,事件:鼠标、键盘和其他输入设备上的各种操作,通常称为事件。图形用户界面由事件驱动。当用户与图形用户界面交互时,可以生成事件。一些常见的交互模式移动鼠标,用鼠标点击按钮,在文本框中输入数据,关闭窗口等。2020/5/22,41,事件处理机制,事件处理模型是以对象的形式封装的。它主要涉及三个元素:Aneventsource、Aneventobject、eventlistener (s)、2020/5/22、42、事件处理机制和事件源接受各种事件的对象。用于用户交互的图形用户界面组件事件对象封装了有效信息,包括对:事件源的引用以及事件侦听器在处理事件时所需的其他各种信息。事件信息包含在java.awt.event或java.swing.event包中。类名通常以事件这个词结尾。事件侦听器接受事件对象并处理事件对象。首先,事件侦听器需要在事件源中注册。它也包含在java.awt.event或java.swing.event包中,类名通常以单词Listener结尾。事件处理步骤1:程序添加java.awt.event包:importjava.awt.event。(2)为所需的事件源对象注册事件侦听器:事件源对象。addXXXListener(XXXListener););(3)实现相应的方法。如果侦听器接口包含多个方法,则需要实现所有方法、事件处理机制和事件处理方法(1)使用侦听器接口来实现事件处理(2)使用侦听器类来实现事件处理(3)使用内部类来实现事件处理(4)使用匿名内部类来实现事件处理、事件处理机制,以及(1)使用侦听器接口来实现同一类中的事件接口。定义接口的方法来实现特定的功能。一般形式如下:publicclass事件发生类名实现事件侦听器接口.公共事件发生类名().组件。addXXXListener(此);/注册到侦听器对象,这意味着当前对象。公共语音监听器接口描述方法1 () .公共语音监听器接口描述方法n () .,事件处理机制,(2)使用侦听器类来实现事件处理是通过扩展侦听器接口,定义侦听器类,然后将需要操作的组件注册到侦听器类对象中。该方法的一般形式如下:类自定义侦听器类名扩展事件适配器(或实现事件侦听器)/定义侦听器类.公共空侦听器接口描述的方法1().公共空侦听器接口描述()的方法n () 公共类事件发生类名/定义事件发生的类.公共自定义监听类名().组件。addXXXListener(新的自定义监听类名();/将组件注册到侦听器对象. 。,事件处理机制,(3)使用内部类实现事件处理此方法将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年品牌营销策划师专业考试模拟题及答案解析
- 2025年人力资源行业招聘面试手册与模拟题答案
- 2025年医学影像学专业招聘考试模拟题及考试技巧
- 2025《物流合作合同》讲义
- 2025版关于借款合同范本(担保借款用途)
- 2025年AI编程师认证考试冲刺题库
- 2025年养老护理员初级求职面试攻略与预测题
- 吉林移动别墅施工方案
- 2025年数显读卡仪项目立项申请报告模板
- 2025年养老护理员高级面试题解析及应对策略
- 超声出科考试试题及答案
- T/CNFAGS 16-2024绿色甲醇分级标准(试行)
- 2025浙江宁波市海曙开发建设投资集团限公司国企业招聘26人易考易错模拟试题(共500题)试卷后附参考答案
- 国民经济行业分类代码(2024年版)
- 《动物繁殖技术》课件
- 中学生法制教育课件
- 电子商务平台技术入股合同书7篇
- 2025广州市白云区辅警考试试卷真题
- 留置尿管漏尿护理
- 圆通速递行测题库
- 电机与拖动学习辅导与习题全解
评论
0/150
提交评论