ImageVerifierCode 换一换
格式:PPT , 页数:321 ,大小:5.38MB ,
资源ID:10251428      下载积分:25 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10251428.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(Java项目化教程.ppt)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Java项目化教程.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Java面向对象程序设计,什么是Java?,什么是面向对象?,WHAT?,WHY?,为什么要学习

2、Java语言?,HOW?,1、上课专心,做好笔记,2、上机作业认真完成,实验上课例题,3、消化每次课的内容,4、不懂就问,5、树立信心,课程目标,1、建立面向对象程序设计的思想,2、掌握JAVA语言的基本语法,3、掌握图形界面的设计,4、掌握使用Java语言实现多线程,异常处理,输入输出,网络通信等程序的编写,5、掌握数据库的连接和访问,任务一 开发平台搭建,本节目标:,掌握Java 程序运行环境的配置,理解Java 虚拟机(JVM),能够使用Eclipse开发Java程序。,1.1Java的起源,Sun Microsystems 于1995年推出,1991,年,Sun,公司的,James G

3、osling,等人开始开发名称为,Oak,的语言。希望用于控制嵌入在有线电视交换盒、,PDA,等的微处理器,1994,年将,Oak,语言更名为,Java,Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题,1.2.1Java对Internet影响,Internet使Java成为网上最流行的编程语言,Java对Internet的影响也意义深远,在Java出现以前,几乎没有什么工具可以在 Internet上执行动态交互程序,Applet程序可以对用户的输入和操作做出响应,1.2.2 Java虚拟机,Java是一种既面向对象又可跨平台的语言,它用于创建单机

4、应用程序、基于网络的程序和消费类设备程序。例如:移动电话和掌上导航系统,Java 字节码,(可跨平台),Windows,Linux,Solaris,运行,编译,Java,源程序代码,JVM,Java,虚拟机,1.2.2 Java虚拟机,可运行Java字节码的虚拟计算机系统,它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信,用户,USER,字节码程序,JVM,(,Java,虚拟机,),操作系统,硬 件,Java虚拟机的运行过程,编译时,.java,(源代码),.class,(字节码),运行时,解释器,硬件,网络,字节码校验器,类加载器,JIT代码,生成器,1.3 Java的特

5、点,简单,Java 设计人员删除了C+中许多复杂的功能,如指针操纵和运算符重载等,面向对象,在 Java 中任何东西都是对象。因此,重点集中在数据、应用程序中操作对象的方法以及过程上,跨平台,一次编译,到处运行,健壮性,Java 在编译和解释时都会检查代码,1.3 Java的特点,安全性,Java 提供了用于执行程序的受控环境,以及多层次的安全控制,可移植性,Java 可用于开发能够在多个平台、操作系统和图形用户界面之间移植的应用程序,多线程,Java 程序使用称为“多线程”的进程同时处理多项任务,动态性,不会因为程序的更新而重新编译程序,1.4 Java程序的开发,JDK是有助于程序员开发J

6、ava程序的Java开发工具包 j2sdk1.4.2_02,了解安装目录:,bin目录:存放可执行文件;,lib目录:存放Java的类库文件;,include目录:存放用于本地方法的文件;,demo目录:存放演示程序;,jre目录:存放Java运行环境文件,配置环境变量,演示环境变量的配置,单击,右键,选择高级,选择路径,添加路径,Java工具集,javac:用于编译Java 源代码的编译器,语法:javac 选项 源文件,源文件以扩展名.java 结尾,选项可以包括:,-classpath,-d,java:用于执行 Java 字节码的解释器,java 选项 类名称 参数,选项可以包括,-cl

7、asspath,-version,Java,API文档,选,择,包,选择包中的,接口或类,可查看相应帮助,1.4.2开发Java程序的步骤,创建Java源程序,Java源程序一般用java作为扩展名,是一个文本文,件,用Java语言写成,可以用任何文本编辑器创建,与编辑;,编译源程序,Java编译器,“javac”,读取你的Java源程序并翻译,成Java虚拟机能够明白的指令集合,且以字节码的,形式保存在文件中。通常,字节码文件以class作为,扩展名,;,运行class(字节码)文件,Java解释器读取字节码,取出指令并且翻译成计算,机能执行的代码,完成运行过程;,第一个Java程序,/*,

8、此类用于在屏幕上显示消息。,*,*/,class Message,/*,*这是一个 main 方法,*/,public static void main(String args),/*输出此消息*/,System.out.println(欢迎来到 Java 世界!);,在记事本编辑Java程序,public class Message,/*,*这是一个 main 方法。,*/,public static void main(String args),/*输出此消息*/,System.out.println(欢迎来到 Java 世界!);,演示编辑和保存Java程序,依次选择,程序,附件,记事

9、本,单击,开始,编译和运行,演示编译和运行Java程序,单击,开始,进入程序所,保存的目录,依次选择,程序,-,附件,-,命令提示符,编译,Javac Message.java,运行,java Message,输出结果,分析程序 3-1,符号/*/指示中间的语句是该程序中的注释。,多行注释以/*开始,以*/结束。,单行注释以/开始,以行末结束,java文档注释使用/*,*/,关键字 class 声明类的定义,还帮助编译器理解它是一个类的声明,整个类及其所有成员都是在一对大括号中(即 和 之间)定义的。它们标志着类定义块的开始和结束,分析程序,3-2,程序从 main()方法开始执行,关键字 p

10、ublic 是一个访问说明符,控制类成员的可见度和作用域,关键字 static 允许调用 main()方法,而无需创建类的实例,关键字 void 告诉编译器 main()方法在执行时不返回任何值,分析程序 3-3,main()方法是所有Java 应用程序的起始点,args 是String类型的数组,println()方法通过 System.out 显示作为参数传递给它的字符串,1.2安装MyEclipse,编译调试java程序,存在很多不方便,无法直接修改,无法跟踪调试,不能完成更多复杂的程序的开发。,MyEclipse企业级工作平台(MyEclipse Enterprise Workbenc

11、h,简称MyEclipse)是一个十分优秀的用于Java,J2EE的Eclipse插件集合,MyEclipse功能非常强大,多各种开源产品支持非常不错。它是功能丰富的JavaSE,JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,SQL,Hibernate。,使用MyEclipse开发程序,使用MyEclipse开发程序,使用MyEclipse开发Java程序的第一步是建立一个项目,一个独立的程序就需要一个项目。单击“File”菜单-“New”-“Java Project”.,使用MyEclipse开发程序,

12、第二步,在src文件夹下,创建Java class。右键单击src文件夹,在弹出菜单中,选择“New”-“class”。,在MyEclipse中运行程序,总结,Java 是面向对象的跨平台语言,Java 可用来生成两类程序:应用程序、小应用程序,JDK 提供多种工具,这些工具位于 JDK 的 bin 目录下,具体如下:javac java javadoc,Java 字节码是 Java 虚拟机(JVM)可理解的机器语言指令,通常作为 Java 语言源代码的编译结果而生成,项目一 计算器,任务一:,完成简单计算器的程序设计,能够通过控制台实现两个数的加、减、乘、除。,本节目标:,掌握变量、标识符的

13、定义;,掌握简单数据类型的使用;,掌握各种运算符的使用;,变量的定义,变量是Java程序中存储数据的基本单元。,声明变量的语法为:,数据类型 变量名=值,标识符=值;,Java中的所有变量都必须声明后才能使用。通过将标识符用逗号隔开可以声明多个变量,变量区分大小写。,标识符,用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。,Java语言规定标识符由字母、数字、下划线“_”和美元符号“$”组成,并且第一个字符不能是数字符号。,Java语言中的标识符是严格区分大小写的。,关于标识符的另一个重要限制是,不能使用Java语言的关键字。Java标识符的长度没有任何限制。,基

14、本数据类型,变量,变量声明由以下三,个部分组成:,数据类型,名称,要赋给的初始值(可选),语法,:,数据类型 标识符,=值,标识符,=,值,;,标识符,标识符必须以字母,下划线“_”或“$”符号开头。首字母后面可以跟任意数量的字母,数字,下划线“_”或“$”符号。,可以包含数字,但不能以数字开头。,不能使用Java关键字。,判断下列变量名是否合法:,Myvariable,9pins,a+c,_9pins -9pins,数据转换类型,自动类型转换,强制类型转换,将,一种类型的变量赋给另,一种类型的变量时,只要,满足以下条件,就会发生,自动类型转换:,两种类型兼容;,目标类型大于源类型;,强制转换

15、用于显式类型,转换。如果被转换的值,的数据类型大于其目标,类型,就会丢失部分信,息,类型强制转换,类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据,示例:,float c=34.89675f;,int b=(int)c+10;,/,将,c,转换为整型,算术运算符,赋值运算符,关系运算符,逻辑运算符,编写程序实现Xn,n!。,本节目标:,掌握Java语言中的各种流程控制语句的使用。,任务二:,控制流语句的类型,判断语句,if-else 语句,switch-case 语句,循环语句,while 循环,do-while 循环,for 循环,if-else 语句,If-else

16、语句测试条件的结果,然后根据此结果来执行相应的操作,它可用于以两个不同的路径来执行程序,if-else,语句的语法为:,if(condition),action1;,else,action2;,switch-case 语句,switch-case,语句可用于替换,if-else-if,语句,在表达式可以得出多个值的情况下,使用此语句,使用,switch-case,语句会带来更好的效果,switch-case,语句的语法为:,switch(表达式),case 1:,操作 1 的语句;,break;,case 2:,操作 2 的语句;,break;,.,case n:,操作 n 的语句;,bre

17、ak;,default:,默认语句;,循环 3-1,while,只要指定的条件评估为,true,while,循环则执行一个,语句或一组语句,语法,int count=0;,while(count 10),System.out.println(count);,count+;,示例,while(测试),/语句,被执行,条件=true,循环 3-2,do-while,do-while 循环执行某些语句,直到指定的条件为真。此循环确保循环体至少执行一次,语法,do,System.out.println(count);,count+;,while(count 10),示例,do,/语句,while(测试

18、),被执行,条件=true,循环 3-3,for,for 循环主要用于按预定的次数执行语句或语句块,语法,for(count=0;count 10;count+),System.out.println(count);,示例,for(初始化;测试;增量),操作语句;,条件,=true,被执行,跳转语句2-1,两种跳转语句为:,break,continue,break,语句:用于终止块。,continue,语句:有时程序员可能希望继续循环,而停止处理其主体内的其余代码,以进行特定的迭代。,continue,语句可用于这种操作。,运用面向对象的思想,编写计算器类,并定义加、减、乘、除四个方法。,本节

19、目标:,掌握类和对象的声明;,掌握类的继承实现;,掌握类的覆盖和重载的区别和使用。,任务三:,面向对象编程,OOP,旨在在计算机程序中,模拟现实世界中的概念,在 OOP,中,现实世界的所有事物全都被视为对象,能够在计算机程序中用类似的,实体模拟现实世界中的实体,设计和实现软件系统的方法,对象,对,象,面向对象编程的核心,为计算机应用程序提供实用基础,完成特定任务,表示现实世界中的实体,“对象是存在的具体实体,具有明确定义的状态和行为。”,类,类以共同特性和操作定义实体,类是用于组合各个对象所共有操作和属性的一种机制,形状类,动物类,汽车类,类的示例,“类是具有相同属性和行为的一组对象的集合”,

20、属性,事物的特性在类中表示为变量,每个对象的每个属性都拥有其特有的值,属性名称由类的所有实例共享,住址,姓名,属性,年龄,“在类中表示对象或实体拥有的特性时称为属性”,促销员对象,在 Java 中实现类,语法,class ,其中,,class 是创建类所使用的关键字,,是类的名称,,包含属性和方法的声明。,类中的方法 6-1,方法的定义,方法的名称,参数列表,方法的主体,方法返回的对象类,型或原始类型,类中的方法 6-2,语法,(,),其中,,是方法返回值的数据类型,是用户自定义的方法名称,方法的参数列表是一组变量声明。,类中的方法 6-5,实例方法可使用圆点符号来访问,方法被调用的对象在圆点

21、左边,而方法的名称在圆点右边,例如:Obj.isAvailable();,this 关键字,用于任何实例方法内,指向当前对象,this 的值指向对其调用当前方法的对象,this 关键字可在需要当前类类型的对象引用时使用,构造方法,每当创建给定类的实例时就调用的方法,与类同名,但没有返回类型,Java 为对象分配内存,初始化实例变量并调用构造方法,两种构造方法,参数化构造方法,隐式构造方法,继承,父 类,子类,父类/子类是相对的,Cow,类,Lion,类,Tiger,类,Animals,类,Carnivorous,类,Herbivorous,类,Coat,类,继承的特点,继承的特点,具有层次结构

22、子类继承了父类的非私有属性和方法,继承的优点,继承的优点,代码的可重用性,父类的属性和方法可用于子类,设计应用程序变得更加简单,可以轻松地自定义子类,子类构造方法 2-1,子类构造方法的名称与类的名称相同,先调用父类构造方法,再调用子类构造方法,要调用父类构造方法,使用关键字,super,子类构造方法 2-2,调用父类构造方法的语法为:,super()或 super(参数列表);,super(),方法始终指向调用类的父类,多态性 2-2,父类,子类-绘制和移动三角形,子类-绘制和移动矩形,子类-绘制和移动五边形,Shape,Draw(),Move(),Triangle,Draw(),Draw

23、Traingle,Move(),MoveTriangleVertices,Rectangle,Draw(),DrawRectangle,Move(),MoveRectangleCorner,Pentagon,Draw(),DrawPentagon,Move(),MovePentagonVertices,方法重载,方法重载,类中有多个具有相同名称的方法,方法重载,类中有多个具有相同名称的方法,方法具有不同的,参数列表,方法覆盖,方法覆盖,子类和父类的方法具有相同的名称和类型,用子类对象调用子类中的重写方法,super.methodname(),用于调用父类中的方法,编写程序完成计算器的界面设计。

24、本节目标:,掌握包的定义与包的导入;,掌握修饰符的作用范围;,掌握AWT图形界面组件类的使用;,掌握布局管理器的使用;,任务四:,包,包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件,有助于避免命名冲突。在使用许多类时,类和方法的名称很难决定。有时需要使用与其他类相同的名称。包基本上隐藏了类并避免了名称上的冲突,包允许在更广的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类,“包将类名空间划分为更加容易管理的块,,包既是命名机制也是可见度控制机制”,创建包,package mypackage;,public class Calculate,pub

25、lic double volume(double height,double width,double depth),声明包,导入包,import mypackage.Calculate;,public class PackageDemo,public static void main(String args),Calculate calc=new Calculate();,导入包,访问修饰符 3-1,信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因,信息隐藏的原因包括:,对任何实现细节所作的更改不会影响使用该类的代码,防止用户意外删除数据,此类易于使用,访问修饰符,访问修饰符,

26、private,protected,public,默认,访问修饰符 3-2,该类或非该类均可访问,public,只有该类可以访问,private,相同数据包中的类可以访问,默认,该类及其子类的成员可以访问,同一个包中的类也可访问,protected,访问修饰符 3-3,访问修饰符可访问性,位置,private,默认,protected,public,同一个类,是,是,是,是,同一个包内的类,否,是,是,是,不同包内的子类,否,否,是,是,不同包并且不是子类,否,否,否,是,方法修饰符,方法修饰符,static,final,abstract,static 修饰符 3-1,static修饰符修饰的

27、方法叫静态方法,目的,使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法,static 修饰符 3-2,调用静态方法的语法为:,classname.methodname();,规 则,可以调用其他静态方法,必须访问静态数据,不能使用,super,或,this,关键字,final 修饰符,final,不能修改变量,子类不能重写方法,abstract 修饰符 3-1,由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类,抽象方法必须声明在抽象类中,抽象方法语法:,abstract type method_name(parameter_list);,声明抽象类语

28、法:,abstract class,使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节,abstract 修饰符 3-2,抽象类可以具有指向子类对象的对象引用,abstract,抽象类不能被,实例化,构造方法,和,static,方法不能是抽象的,父类的抽象方法往往在子类中实现,java.awt 包中的类体系结构,Component,Button,Checkbox,Container,Choice,Canvas,TextComponent,Label,Panel,Window,Applet,Frame,Dialog,TextArea,TextField,容器

29、可以存放组件的区域,,可在容器上进行绘制和着色,java.awt,包中的,Container,类可直接或间接派生出两个常用容器:,框架(,Frame,类)和面板(,Panel,类)。,框架是一个带有边框的独立的窗口。,面板是包含在窗口中的一个不带边框的区域。,容器 框架,框架是独立于,Applet,和浏览器的一个窗口。,可以通过以下任一构造函数来创建:,容器-面板,面板不是一个单独的窗口,它只是包含在窗口中的一个区域。,面板是可以将许多组件组合起来的一种容器。,必须将面板添加到窗体中。,标签,通常用来指明项目的用途,标签不可以被用户编辑,文本域,一种用来输入文本的GUI组件,只能接受一行输入

30、按钮,按钮是任何GUI都不可或缺的组件,用来捕捉用户操作的最为简便的方式,布局管理器,用户界面上的屏幕组件可以按照一定的格式布局,例如水平排列,或按网格方式排列,布局管理器类是一组类,它,实现,java.AWT.LayoutManager,接口,帮助在容器中放置组件,Java 中可用的各种布局如下:,BorderLayout,FlowLayout,GridLayout,BorderLayout 1,上边的组件,左,边,的,组,件,右,边,的,组,件,下边的组件,容器,North,South,East,West,CENTER,West,East,BorderLayout 2,上边的组件,右,边

31、的,组,件,左,边,的,组,件,下边的组件,容器,North,South,Center,方法,说明,BorderLayout(),创建新的BorderLayout,组件之间没有间距,setHgap(int hgap),将组件间的水平间距设置为指定的值,setVgap(int vgap),将组件间的垂直间距设置为指定的值,FlowLayout 1,容器,流布局是面板的默认布局管理器,左上角,右下角,依次排序的组件,垂直或水平间距,FlowLayout 2,容器,流布局是面板的默认布局管理器,左上角,右下角,顺序排列的组件,垂直或水平间距,方法,说明,FlowLayout(),构造新的中间对齐的

32、FlowLayout,,将垂直和水平间距保留为 5 个像素,setAlignment(int align),设置指定布局的对齐方式,setHgap(int hgap),设置指定布局的水平间距,setVgap(int vgap),设置指定布局的垂直间距,GridLayout 1,行,列,组件大小相同,重新调整组件大小,以适合各自的单元,指定网格中的行数和列数,创建网格布局,GridLayout 2,行,列,组件大小相同,重新调整组件大小,以适合各自的单元,指定网格中的行数和列数,创建网格布局,方法,描述,GridLayout(),创建网格布局,默认为每个组件占用一整列和一单行,GridLayou

33、t(int rows,int cols),用指定的行数和列数创建网格布局。,GridLayout(int rows,int cols,int hgap,int vgap),用指定的行数和列数、指定的水平和垂直间距创建网格布局,setColumns(int cols),将相应布局中的列数设置为指定值,setHgap(int hgap),将相应布局中的水平间距设置为指定值,setVgap(int vgap),将相应布局中的垂直间距设置为指定值,setRows(int rows),将相应布局中的行数设置为指定值,生成并运行该应用程序。,使用布局管理器,选择内容面板,在属性窗口中将内容面板的 Layo

34、ut 属性选择为 BorderLayout,从组件面板的 Swing 类别中选择 JButton,将 JButton 添加至 North,使用属性窗口更改属性,将 JButton 添加至内容面板的左边、下边和右边,从 Swing 容器类别中选择一个 JPanel,并将其添加至内容面板的中央,将 JLabel 添加至 JPanel,并更改属性,将 JTextField 添加至 JPanel,并更改属性,public void btnNorth_actionPerformed(ActionEvent e),public void btnNorth_actionPerformed(ActionEve

35、nt e),txtMessage.setText(“按下了按钮“北”);,public void btnWest_actionPerformed(ActionEvent e),txtMessage.setText(“按下了按钮“西”);,public void btnSouth_actionPerformed(ActionEvent e),txtMessage.setText(“按下了按钮“南”);,public void btnEast_actionPerformed(ActionEvent e),txtMessage.setText(“按下了按钮“东”);,演示:,使用布局管理器创建 JB

36、uilder 应用程序,在设计视图上选择按钮“北”,在检查器窗口中单击“Events”选项卡,双击检查器窗口中的 actionPerformed 事件,添加如下代码以便在 txtMessage 字段中显示消息,为 btnWest 的 actionPerformed 事件添加代码,为 btnSouth 的 actionPerformed 事件添加代码,为 btnEast 的 actionPerformed 事件添加代码,Code generated for the actionPerformed method 为 actionPerformed 方法生成的代码,编写程序完成计算器的加、减、乘、除

37、的功能实现。,本节目标:,掌握接口的使用;,掌握事件处理。,任务五:,接口,接口就是某个事物对外提供的一些功能的申明,可以利用接口实现多态,同时接口也弥补了Java单一继承的弱点,使用interface关键字定义接口,一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现,创建接口的步骤 2-1,/定义方法的接口,public,interface,myinterface,public void add(int x,int y);,public void volume(int x,int y,int z);,/定义程序使用的常量的接口,public,interface,mycons

38、tants,public static final double price=1450.00;,public static final int counter=5;,定义一个接口:,创建接口的步骤 2-2,编译如下:,javac myinterface.java,用关键字 implements 实现接口,例如:,class demo implements myinterface,如果有一个以上接口被实现,则用逗号隔开接口名称,如下所示:,class demo implements Mycalc,Mycount,接口使用示例,public interface GForce,double g=9.

39、8;,void show();,public class InterfaceTest,public static void main(String args),GForce gForce=new Earth();,gForce.show();,public class Earth implements GForce,public void show(),System.out.println(“g=“+g);,事件控制的要点,Java 最新的事件处理方法是基于授权事件模型,事件源生成事件并将其发送至一个或多个监听器,监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后

40、返回。,事件,在,授权事件模型,中,事件是一个描述事件源状态改变的对象,。,通过鼠标、键盘与,GUI,界面直接或间接交互都会生成事件。,如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。,事件源,事件源是一个生成事件的对象,一个事件源可能会生成不同类型的事件,事件源提供了一组方法,用于为事件注册一个或多个监听器。,每种事件的类型都有其自己的注册方法。一般形式为:,public void addListener(TypeListener e),AWT采取的事件控制过程,监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口”,事件源是一个对象,它可以注

41、册一个或多个监听器对象,并向其发送事件对象。,事件源将在发生事件时向所有注册的监听器发送事件对象。,监听器对象使用事件对象中的信息来确定它们对事件的响应。,事件体系结构,FocusEvent,AWTEvent,ActionEvent,AdjustmentEvent,ComponentEvent,TextEvent,ItemEvent,ContainerEvent,InputEvent,WindowEvent,PaintEvent,KeyEvent,MouseEvent,EventObject,AWT 事件类型 2-1,事件类,说明,事件源,ActionEvent,通常按下按钮,双击列表项或选中

42、一个菜单项时,就会生成此事件。,Button、List、MenuItem、TextField,AdjustmentEvent,操纵滚动条时会生成此事件。,Scrollbar,ComponentEvent,当一个组件移动、隐藏、调整大小或成为可见时会生成此事件。,Component,ItemEvent,单击复选框或列表项时,或者当一个选择框或一个可选菜单的项被选择或取消时生成此事件。,Checkbox、CheckboxMenuItem、Choice、List,FocusEvent,组件获得或失去键盘焦点时会生成此事件。,Component,AWT 事件类型 2-2,事件类,说明,事件源,KeyE

43、vent,接收到键盘输入时会生成此事件。,Component,MouseEvent,拖动、移动、单击、按下或释放鼠标或在鼠标进入或退出一个组件时,会生成此事件。,Component,ContainerEvent,将组件添加至容器或从中删除时会生成此事件,。,Container,TextEvent,在文本区或文本域的文本改变时会生成此事件,。,TextField、TextArea,WindowEvent,当一个窗口激活、关闭、,失效、恢复、最小化、打开或退出时会生成此事件。,Window,监听器接口,监听器通过实现 java.awt.event 包中定义的一个或多个接口来创建。,在发生事件时,事

44、件源将调用监听器定义的相应方法。,有兴趣接收事件的任何监听器类都必须实现监听器接口。,监听器接口列表 2-1,事件监听器,方法,ActionListener,actionPerformed,AdjustmentListener,adjustmentValueChanged,ComponentListener,componentResized,componentMoved,componentShown,componentHidden,ContainerListener,componentAdded,componentRemoved,FocusListener,focusLost、focusGai

45、ned,ItemListener,itemStateChanged,监听器接口列表 2-2,事件监听器,方法,KeyListener,keyPressed、keyReleased,keyTyped,MouseListener,mouseClicked、mouseEntered,mouseExited、mousePressed,mouseReleased,MouseMotionListener,mouseDragged、mouseMoved,TextListener,textChanged,WindowListener,windowActivated、windowDeactivated,wind

46、owClosed、windowClosing,windowIconified、windowDeiconified,windowOpened,适配器类,适配器类,事件监听器接口,ComponentAdapter,ComponentListener,ContainerAdapter,ContainerListener,FocusAdapter,FocusListener,KeyAdapter,KeyListener,MouseAdapter,MouseListener,MouseMotionAdapter,MouseMotionListener,WindowAdapter,WindowListen

47、er,为了使事件处理变得简单,,Java,为具有多个方法的监听器接口提供适配器类。适配器类实现并提供了一个事件监听器接口中的所有的方法,但这些方法都是空方法。,private class MyMouseAdapter extends MouseAdapter,private Color bgColor;,public MyMouseAdapter(Color c)bgColor=c;,public void mouseClicked(MouseEvent mevent),setBackground(bgColor);repaint();,事件源、监听器和监听器接口,事件源描述事件对象中事件的性

48、质。,每个事件源都被映射至一个或多个事件监听器,发生事件时需要调用这些事件监听器。,事件源随后通过将事件对象传递至监听器接口类的方法,将事件信息发送到监听器接口。,监听器分析事件对象找出事件信息,,以便给出响应,。,任何 GUI 对象的获得或失去焦点都被视为焦点事件,并且事件源必须向事件监听器通知事件对象已失去或已获得焦点。,焦点监听器需要实现两个方法:focusGained 和 focusLost。,要进行错误检查或数据校验时,对焦点的捕捉就显得尤其重要。,焦点事件,焦点事件示例,public void focusLost(FocusEvent event),if(event.getComp

49、onent()=ccField&,!event.isTemporary(),if(!checkFormat(ccField.getText(),ccField.requestFocus();,实现了当捕捉到失去,焦点事件时如何响应,检验失去焦点的组件中的文本格式是否正确,如果格式不正确,将焦点移回到该组件,任务六:,若除数为0,计算器程序将如何处理?,本节目标:,掌握异常的捕获与处理。,异常处理的基本概念,异常处理机制的作用,在编程中,错误总是难免会发生的,关键在于发生错误之后,能否捕获错误,如何捕获错误,程序能否从错误中恢复,异常处理的目的,不是要避免异常,而是在异常发生时,设法使损失降低到

50、最小,异常处理的基本概念,错误与异常,错误:编译程序时发现的问题,编译时会出现错误或警告。当运行程序时,错误已经不存在,异常:编译时没有发现,只有在运行程序的时候,在某种特定的情况下,程序执行出现错误,这时会发生异常,什么是异常?,public class ExceptionRaised,public ExceptionRaised(),public int calculate(int operand1,int operand2),int result=operand1/operand2;,return result;,public static void main(String args),

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服