第一篇:java高级编程教学大纲
《Java高级编程》教学大纲
郑州大学软件技术学院
一、课程的性质与任务
本课程是软件开发专业开设的程序设计类高级课程,学生在学习了《程序设计导论》,初步具备了一定的程序以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作设计基本理念后才可学习本课程。本课程将教给学生如何利用Java这一有力工具进行程序设计,如程序逻辑、用户界面、数据处理、多媒体编程方法、网络通讯软件开发等。由于教材采用弱化语法,深入浅出的表达方式,使得学生将主要的注意力放在用软件实现实际问题上,而不是放在程序设计语言这一载体上。
二、教学基本要求
(讲课学时:68;实训学时:32)
1、Java概述
了解Java 语言的发展和特点 了解Java 语言的工作机制
掌握JBuilder9.0开发工具的安装和简单使用 了解面向对象程序设计的理念 Java应用程序及小程序举例
2、Java语言基础
熟悉Java语言的标识符、基本数据类型
熟悉Java语言的运算符、表达式、运算优先级等。 了解Java语言的包装类
熟练掌握if—else语句和 switch语句。
熟练运用Java语言的分支结构进行简单的程序设计。 熟练掌握while语句、do—while语句和for 语句。 熟练运用循环流程控制语句进行简单的程序设计。 基本掌握循环嵌套的使用。 初步掌握break、continue、return语句。 能够初步掌握方法、异常处理的程序设计技术。
了解面向过程的编程方法的局限性,了解面向对象的编程的基本术语、基本特性等。
掌握类的定义与对象的生成。 掌握构造方法的特点、作用。 初步掌握类和成员的修饰符。 初步掌握类继承的实现方式。 了解抽象类和抽象方法 了解接口的定义和实现方法 了解接口的继承和多态 了解包的创建及其使用方法
3、Java Applet程序设计
了解Java Applet的特点和运行机制。
了解HTML语言,熟悉如何在HTML文件中嵌入Applet。 了解Applet的类层次及框架结构。 初步掌握Applet的主要方法及生命周期。 AWT绘制基础。 掌握应用字体的方法。 掌握应用颜色的方法。 掌握绘制简单图形的方法。
4、图形界面设计
熟练掌握基本组件的使用 掌握高级组件的使用 掌握面板和布局控制
掌握窗口、菜单和对话框的使用 会进行一般的图形界面设计
5、输入输出设计
理解基本I/O流 了解文件I/O流 了解字节流 了解字符流
会进行稍微复杂的I/O设计
6、多线程 理解多线程的概念 掌握线程的生命周期
会用多线程编写较为灵活的程序
以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作
7、多媒体程序设计
了解java多媒体框架 掌握音频开发的方法 了解视频开发
8、数据库程序开发
掌握ODBC的概念 掌握连接数据库的方法 了解操作数据库的组件 了解管理数据库的方法
9、网络通讯
理解TCP/IP网络通讯 了解Java网络类和接口 了解面向连接的套接字通讯 了解无连接的数据报通讯
以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作
文章由北大青鸟.嘉华教育(深圳大学实训基地&北大青鸟全国三甲校区):www.xiexiebang.com 深圳权威IT培训学校,欢迎课程咨询交流QQ:100236036
第二篇:JAVA编程心得体会
JAVA编程心得
计算机3班
窦金霞
20104773
最近几周一直在弄程序,说实话真的很累,但累中也有成功的快乐。我觉得学到了很多东西,这是只看课本知识所不能学到的。
说实话,以前我一直没学过JAVA虽然我也知道JAVA的重要性,可是即使上课听了,不实践还是掌握不了。因为种种原因,今年我没有买笔记本。没有机器,仅仅靠每周一次的上机练习是绝对不够的。所以我就插空调程序,在舍友们不用的时候自己再接她们的电脑调。
调上一个WEB版的通讯录程序时我已经感觉到学的很吃力,好多东西都不懂。这次做的这个学生成绩管理系统更复杂了,所以一开始调的时候感觉特别吃力.所以我告诉自己不能放弃,慢慢来,就这样我从最基本的sql语句session对象开始学起,我觉得我还有太多不懂得所以要比别人付出更多的努力。就这样我一点一点的学着„„
说心里话,在做上一个web版的通讯录时,我就感觉到成功的喜悦。好多地方我都是一点一点的问的,在问的过程中,我也学会了很多,像:Servlet和jsp之间跳不过去时有两种解决办法,一是关闭底层类中的db.close;二是将Servlet中的throws Exception改成try catch以捕捉异常;我还学到了集中查找错误的方法,可以加上两个双斜杠“//”将具体的方法屏蔽掉,一检查是方法错误还是Servlet错误,还有就是写上System.out.println()将获得的数据输出,用来检查数据传输过程有没有错误等等。
虽然在别人看来,这些方法可能都很常规,但是确实我自己学会的,我觉得很有成就感。我已经做好计划了,暑假的时候去买本本用自己的本本练习一下JAVA,虽然下学期不学JAVA了,但是我对JAVA的热情不会因为这个而削减的!
做完这个学生成绩管理系统后,我觉得我对JAVA的看法已经改变了。一前总以为JAVA很繁琐很难,听同学说JAVA不好学,开始又有一些听不懂,所以一直很畏惧JAVA。但真正做了这个系统以后我才感觉到其实任何事都没有难与不难之分,只要你肯努力的去做,世上无难事只怕有心人!
我现在对java学习充满了热情,我知道我还有很多的不足
还有很多需要努力的地方,所以我的JAVA之旅将继续进行„„
第三篇:java教学大纲
《Jav程序设计》教学大纲
一、课程性质与教学目的
课程性质:《Java程序设计》是计算机软件技术专业的一门职业技术课程,本课程主要讲述当前非常流行的面向对象程序设计的基本知识和编程思想,为学员建立初步的面向对象程序设计的基本知识体系结构,为以后的就业打下坚实基础。
课程目的:让学生真正掌握面向对象程序设计技术,使用 awt和Swing包开发图形用户界面和事件驱动的程序,并能从事JAVA Applet小应用程序及网络通信等程序的开发。理解Java多线程概念,并可以利用多线程技术开发相应程序。能够以面向对象的角度思考和设计小型应用程序。初步具备一个优秀的软件开发人员所应有的基本能力。
参考书目:1.《JAVA语言基础教程》刘其成等编石油大学出版社
2.《JAVA语言及应用》张为民 等编 清华大学出版社
二、基本要求
本课程有三部分组成:理论教学50学时+实验教学50学时+项目实战240学时。
学完本课程后,对于一般问题,学生应能够独立地进行相应的程序设计,并熟练地运用面向对象方法,在Java语言的环境下进行程序的编辑、调试运行,得出正确的结果。学习完本课程应该基本具备如下知识和能力:
1.利用Java支持的多种布局管理开发图形用户界面(GUI),并使用Java语言的事件委托机制开发GUI应用程序;
2.掌握面向对象编程的基本思路和知识,能在具体实际中运用面向对象思想考虑问题; 3.掌握Java的多线程机制;
4.初步掌握JDBC-API的基本知识,并能够开发有一定规模的数据库管理系统; 5.掌握了初步的Java网络编程技术,能利用Sockets机制进行网络通信软件的开发; 6.理解并掌握Applet的原理,能够开发简单的Applet程序; 7.掌握Java的异常处理机制,能开发容错性良好的程序; 8.掌握初步的JSP知识,能够编写简单的JSP应用程序;
9.了解设计模式的基本知识,能够在程序设计中引用简单的设计模式。10.小型软件设计开发能力。
三、教学内容 1.Java语言概述
1)了解Java语言的历史与现状。
2)掌握Java虚拟机的概念。
3)掌握Java语言的安全性、跨平台性特点;了解Java Applet和Java类库。
4)了解常见的Java开发工具。
5)掌握Java Application程序结构、开发过程,了解Java Applet结构。2.Java编程基础
1)掌握标识符的定义规则。
2)掌握表达式的概念、组成。
3)掌握数据类型的划分,简单数据类型的概念。
4)掌握布尔型常量、字符型常量、整型常量、浮点型常量、字符串常量。
5)掌握变量的概念、声明、有效范围、赋值、类型转换。
6)掌握算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、运算符的优先级和结合性。
7)掌握注释语句的作用,//和/* */的使用。3.Java的控制结构
1)掌握条件语句if(if-else-if)、多分支语句switch的结构和程序流程,编写相应的程序;了解分支语句的嵌套。
2)掌握while语句、for语句的结构和程序流程,编写相应的程序;了解do-while语句,循环的嵌套。
3)了解continue语句、break语句的用法。4.方法
掌握方法的定义及使用 5.数组合字符串
1)掌握一维数组的概念、定义,静态数组初始化,数组元素的引用。
2)掌握String和StringBuffer类的使用。6.面向对象编程
1)掌握类声明,类体(变量和方法)的定义,构造函数的概念和定义。
2)掌握对象的生成,变量和方法的引用,方法参数的传递,构造函数的引用。7.类的封装、继承和多态
掌握继承关系的定义,成员变量的继承和隐藏,方法的继承、重载和覆盖;了解this和super。8.接口和基本类库
1)掌握接口的基本概念,接口的实现。
2)了解常用的Java类库 9.异常处理
1)了解编译错误、运行错误。
2)掌握异常处理机制概念。
3)掌握try-catch结构;了解finally。10.图形用户界面
1)掌握窗口的创建。
2)掌握绘制图形、显示文字、控制颜色、显示图像的方法。
3)掌握常用组件及其事件处理(Label、Button、Checkbox、CheckboxGroup、TextField/TextArea、Choice、List、Frame)以及FlowLayout、BorderLayout、GridLayout以及NULL布局。11.多线程机制
1)了解基本概念(程序、进程、线程)。
2)了解实现多线程的两种方法:创建Thread类的子类和实现Runnable接口。
3)线程的同步和互斥。12.输入/输出处理
1)了解流的概念,输入/输出流层次。
2)了解文件与目录管理,文件的顺序处理和随机访问。13.Applet
1)了解HTML文件作用与结构。
2)掌握Applet基本工作原理。
3)掌握Applet程序结构与开发过程,Applet的创建,生命周期与绘图周期,与HTML文件协同工作及参数传递。
4)了解Applet和浏览器之间的通信。
5)掌握Applet 中的标准组件、图形/文本/颜色控制、图像显示、声音播放。14.JDBC技术
了解并掌握如何使用Java语言编程实现对数据库的管理(建表、插入记录、条件查询等)。15.网络编程
了解并掌握初步的Java网络程序设计。
四、学时分配 章次 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
五、项目实战 章名 Java语言概述 Java语言基础 Java控制结构
方法 数组与字符串 面向对象程序设计 类的封装继承多态 接口与基本类库 异常处理 GUI设计 多线程机制 输入/输出处理 Applet基础 JDBC技术 网络编程 总计
学时分配
合计 4 4 4 4 8 8 4 8 4 12 8 4 8 12 8 100
讲授 2 2 2 2 4 4 2 4 2 6 4 2 4 6 4 50
实验 2 2 2 2 4 4 2 4 2 6 4 2 4 6 4 50
上机
实践
习题
考核
机动
八周的项目实战,主要的目的就是培养学生简单Java项目的开发能力。使其对小型的Java项目开发流程,开发方法和工具有一个实际的了解。通过小项目的设计开发进一步巩固所学的基础知识。在作为实战教材的《Java高级开发指南与项目实战》中,我们增加了Swing技术、设计模式、UML、集合类和Java编程规范的内容,并通过一个简单的数据库管理系统介绍了Java项目开发的基本过程。
具体项目实战的安排如下:
Java项目实践为期八周,每人一题,每个题目只给出总体要求,相关资料和知识由学员自己搜集整理学习。每周5天,每天6学时(上午4学时,下午2学时),共计240学时。具体安排如下:
序号 1 2 3 4 5 6 7 8 总计
六、实验(上机)
一)、Java实验一:JDK开发工具 1.实验目的
1)熟悉JDK开发环境。
2)熟悉Jcreator编辑器的使用。
3)掌握Java Application的程序结构和开发过程。
4)了解Java Applet的功能与程序结构。
内容
动员,开题并完成开题报告 调研,查找资料,并完成需求规格说明书
概要设计,并完成概要设计说明书 详细设计,并完成详细设计说明书
程序实现,编码阶段
系统测试,并设计测试用例及测试报告 项目扫尾工作,并完成项目总结报告
项目验收
学时 6 24 30 30 60 30 30 30 240 2.实验要求
1)JDK开发环境
2)Jcreator编辑器
3)掌握Java Application程序开发过程
4)了解下面的Java Applet的程序结构和开发过程。3.项目及学时分配:2学时
4.实验考核:100分(JDK环境熟练程度50分、Application与Applet程序运行50分)二)、Java实验二:Java语言基础 1.实验目的
1)掌握标识符的定义规则。
2)掌握表达式的组成。
3)掌握各种数据类型及其使用方法,熟悉自动转换与强制转换的含义。
4)理解定义变量的作用,掌握定义变量的方法。
5)掌握各种运算符的使用及其优先级控制。2.实验要求
1)掌握变量定义与数据类型。
2)掌握算术运算。
3)掌握关系运算与逻辑运算 3.项目及学时分配:2学时
4.实验考核:100分(正确用数据类型定义变量30分、能熟练使用关系运算符和逻辑运算符70分)三)、java实验三:控制结构 1.实验目的
1)掌握if语句、if-else-if结构的使用。
2)掌握switch语句的使用。
3)掌握使用while语句实现循环。
4)了解使用do-while语句实现循环。
5)掌握使用for语句实现循环。
6)了解continue语句和break语句的使用。2.实验要求
1)使用简单if语句编程,从键盘键入三个整数,然后按照从小到大的顺序将其输出。
2)分别使用if-else-if语句和switch语句编程,确定某一月在哪个季节。
3)分别使用while、do-while和for语句编程,求1~100的和。
4)使用continue语句实现:将100~300之间的不能被3整除的数输出。
5)使用break语句实现记数:从1~100,当数到78时程序终止。3.项目及学时分配:2学时
4.实验考核:正确使用控制结构,程序运行正确无错误。四)、Java实验四:方法 1.实验目的
1)掌握方法的概念和创建。
2)掌握方法的参数传递。2.实验要求
1)利用递归算法实现汉诺塔问题的求解。
2)编辑程序要求参数a、b、c由键盘输入。即先打印“本程序求方程AX^2+BX+C=0的根!”,然后依次提示“请输入参数A:”、“请输入参数B:”、“请输入参数C:”,最后计算结果。
3)编写一个方法用于计算n个数中取m个的组合数,并用该方法输出杨辉三角。3.项目及学时分配:2学时 4.实验考核:100分(每题50分)五)、Java实验五:数组 1.实验目的
掌握一维数组的概念、定义和使用。2.实验要求
1)编写一个程序,通过屏幕提示输入二维数组的行列个数(假设是方阵),然后提示依次输入各个整数元素(一个元素一行,参考课件示例SelectSort.java),然后编写三个方法分别求数组的每行最大值、每列最小值以及将数组主对角线元素成绩;
2)编程实现Fibonacci数列;
3)编程采用冒泡法实现对数组元素由小到大排序。3.项目及学时分配:2学时
4.实验考核:100分(正确解决所给题目)六)、Java实验六:类和对象的创建和使用 1.实验目的
1)掌握类的声明。
2)掌握对象的创建。
3)掌握方法的定义和调用。
4)掌握构造函数的使用。2.实验要求
1)创建5个学生对象给一个学生数组赋值,每个学生属性有:学号、姓名、年龄。
(1)将学生按学号排序输出;
(2)给所有学生年龄加1;
(3)统计大于20岁的学生人数。
2)编程创建一个Point类,在其中定义两个变量表示一个点的坐标值,再定义构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。并创建一个对象验证。
3)定义一个类实现银行帐户的概念,包括的变量有“帐号”和“存款余额”,包括的方法有“存款”、“取款”和“查询余额”。定义主类,创建帐户类的对象,并完成相应操作。3.项目及学时分配:2学时
4.实验考核:100分(题目1 20分、题目2 40分、题目3 40分)七)、Java实验七:类的封装 1.实验目的
1)掌握类的继承方法。
2)掌握变量的继承和覆盖。
3)掌握方法的继承、重载和覆盖。2.实验要求
1)制作一个类person,有三个字符串变量肤色、发色、姓名(变量名自己定义),有两个方法吃和住(方法名自己定义),自己决定如何封装;
2)借助上面的people类,再编写两个子类中国人、欧洲人,分别增加一个变量:语言,以及一个方法tostring用于输出对象信息。3.项目及学时分配:2学时
4.实验考核:100分(题目1 40分、题目2 60分)八)、Java实验八:接口和基本类库 1.实验目的
1)掌握接口的实现方法。
2)掌握常用类库的基本使用方法。2.实验要求
1)制作一个接口animal,有三个方法吃、睡和外部特征(方法名自己定义);
2)编写两个类人、老虎,分别实现animal接口。3.项目及学时分配:4学时
4.实验考核:100分(能正确定义及使用接口和常用类)九)、Java实验九:异常处理 1.实验目的
掌握异常的概念以及如何定义、抛出和捕捉处理异常。2.实验要求
1)理解异常的抛出、捕捉与处理。
2)理解异常类的常用方法的使用。3.项目及学时分配:2学时
4.实验考核:100分(能否捕捉异常 50分、能否正确使用异常类方法 50分)十)、Java实验十:Java绘图 1.实验目的
1)掌握简单窗口的创建。
2)掌握绘制图形、控制字体和颜色、显示图像的方法。2.实验要求
1)建立一个最简单的空白窗体。
2)编辑一个小程序,显示一个半径为150的圆内接五角星(要求正放,不可以偏),要求圆为黄色填充,五角星为红色,背景为蓝色,在图片的正下方显示文字“圆内接五角星”,字体为楷体12号,白色,在下方画一个边框为5,长300,高180的红色矩形。
3)编程显示图像文件。3.项目及学时分配:2学时
4.实验考核:100分(题目1 20分、题目2 60分、题目3 20分)十一)、Java实验十一:GUI标准组件及事件处理 1.实验目的
掌握常用GUI控制组件及其事件处理。2.实验要求
1)在应用程序窗体中安排1个文本框,一个标签。在文本框输入一个数字(0-9),按回车键,在标签处显示对应的英文单词。0---zero,1---one,.....。
2)编辑一个小程序,界面上加入一个标签,显示内容为你的姓名和班级,并注明是X月XX日作业,在标签下面增加列表、两个单选框(控制列表是否为多选状态),一个文本框,三个按钮,分别控制将文本框的内容加入列表、删除、删除全部列表内容,当选择列表时,按照当前状态(是否多选),在文本框中显示用户选择的列表内容。再加入一个文本区,用来显示用户操作的过程,比如:您输入了文字XXX,您单击了加入按钮等。
3)实现一个简单的图像浏览器,部署“上一张”、“下一张”两个按钮,点击按钮可前后翻阅图片。
4)仿照记事本的GUI编写一个JAVA简易记事本程序。只要菜单及界面,具体功能除[退出]外均不用实现。
十二)、Java实验十二:多线程机制 1.实验目的
1)线程的概念、线程的生命周期。
2)多线程的编程:继承Thread类与使用Runnable接口。
3)使用多线程机制实现动画。2.实验要求
1)理解用创建Thread子类的方法实现多线程。
2)理解用实现Runnable接口的方法实现多线程。
3)利用多线程编程实现一个正在旋转的地球。3.项目及学时分配:4学时
4.实验考核:100分(能否对THREAD子类正确使用 20分、题目完成 80分)十三)、Java实验十三:输入输出流 1.实验目的
1)了解流式输入输出的基本原理。
2)掌握类File、FileInputStream、FileOutputStream、RandomAccessFile的使用方法。2.实验要求
1)编写一个程序实现任意文件的拷贝功能,源文件和目的文件名由命令行参数提供。
2)设计一个图形界面的文本文件查阅工具,在窗体中安排一个文本域和一个按钮,文本域用来显示文件的内容,点击打开按钮将弹出文件选择对话框,从而可以选择要查看的文件。3.项目及学时分配:2学时
4.实验考核:100分(题目1 40分、题目2 60分)十四)、Java实验十四:Applet 1.实验目的
1)掌握Java Applet程序结构和开发过程
2)了解Applet运行机制
3)学会编写Applet对应的HTML文件,掌握从HTML文件向Applet传递参数的方法。
4)了解Applet与浏览器的通信。
5)掌握在Applet图形界面设计。2.实验要求
1)Java Applet程序开发过程
2)制作一个Applet,要求传入四个参数,分别表示操作数类型(如整数、浮点数等)、两个操作数以及一个操作符。Applet接收到参数后,按照参数类型和操作符计算两个操作数的值。
3)编写Applet,显示heep://www.xiexiebang.com的页面内容。
4)编写Applet,包含一个文本框和一个按钮,单击按钮时,在浏览器的状态行显示文本框中的内容。
5)编写Applet播放两段音乐,一段是连续播放的背景音乐,一段是独立的整段音乐。3.项目及学时分配:4学时
4.实验考核:100分(题目2 30分、题目3 20分、题目4 30分、题目520分)十五)、Java实验十五:JDBC技术 1.实验目的
1)了解JDBC的概念和工作原理。
2)掌握使用JDBC实现简单的数据库管理。2.实验内容
1)配置ODBC数据源。
2)建立一张表book,字段有:id int(4)bname string(20)bauthor string(10)bvalue float
3)编辑一个程序,对该表进行记录插入,程序运行后,如果表中没有数据,则显示:表中没有记录!是否添加(Y/N)?,如果选择Y则分别要求输入各字段,输入完毕后,更新表,并显示所有记录,继续询问是否添加,直到用户输入N后退出系统。
4)编写程序,在“book”表中分别查询所有记录以及满足条件“ bvalue>10”的记录。
5)设计删除记录模块。3.项目及学时分配:6学时
4.实验考核:100分(题目1 10分、题目2 20分、题目3 20分、题目4 50分)十六)、Java实验十六:网络编程 1.实验目的
1)了解并掌握Socket的概念和工作原理。
2)掌握使用Socket实现简单的网络程序的设计。2.实验内容
1)制作一个相互控制的applet程序,要求applet1也可以将文本框中的内容写到applet2中,但不要按钮,要求输入内容后回车写入applet2。
2)设计一个两个客户通讯的程序。3.项目及学时分配:4学时
4.实验考核:100分(题目1 40分、题目2 60分)
实验项目及课时分配
章 次 实验一 实验二 实验三 实验四 实验五 实验六 实验七 实验八 实验九 实验十 实验十一 实验十二 实验十三 实验十四 实验十五 实验十六 章 名
学时分配
实验项目
JDK开发工具 Java语言基础 控制结构 方法 数组与字符串
类和对象的创建和使用 类的封装 接口和基本类库 异常处理 Java绘图
GUI标准组件及事件处理 多线程机制 输入输出流 Applet JDBC技术 网络编程 总计
七、课程的重点、难点和深广度
1、重点
1)Java语言基础
2)面向对象构件
3)Applet基础
4)多线程
5)JDBC技术
2、难点 2 2 2 4 4 2 4 2 2 4 4 2 4 6 4 50
学时分配
备注
1)面向对象编程思想
2)多线程机制
3)输入/输出处理
4)JDBC技术
3、深广度
1)网络应用
2)JDBC技术
八、说明与建议
1.该课程实践性较强,需要学员多作练习
2.主持教师需要有比较熟练的编程经验,对JDK1.X比较熟悉
3.针对所留习题,可以组织两到三次讨论,以便学员掌握面向对象编程的基本思
第四篇:Java AWT编程总结
1.什么是GUI?
a)GUI是Graphics User Interface的全称,意思是图形用户界面.2.为什么需要GUI?
a)图形用户界面能够让最终用户通过鼠标拖动、单击等动作就可以操作整个应用,从而提高应用的用户体验效果,使程序受到用户的欢迎.3.Java通过AWT和SWING来完成GUI图形用户界面编程.4.AWT
a)AWT是SUN公司提供的一个基本的GUI类库,被称为抽象工具集(Abstract
Window-Toolkit),它为Java应用程序提供了基本的组件.b)AWT组件需要调用运行平台的图形界面来创建和平台一致的对等体,所以AWT只
能使用所有平台都支持的公共组件,因此AWT只能够提供一些 常用的GUI组件.5.AWT的主要组成部分
a)Component,代表一个具体图形表示能力的对象,可以在屏幕上显示,并与用户交互.通常我们把它称为”组件”.b)MenuComponent,代表图形界面的菜单.i.MenuBar,代表菜单条.ii.Menu,代表一个菜单项的集合.iii.MenuItem,代表一个菜单项.c)Container,代表一个AWT组件容器,可以盛装其他Commponent组件,它继承自
Component抽象类,本身也代表一个Component组件.i.Window,可独立存在的顶级窗口.1.Frame,代表一个窗体.2.Dialog,代表一个对话框
a)FileDialog代表一个文件对话框,用于打开或保存文件.Panel,可容纳其他组件,但不能独立存在,必须被添加到其他容器中.ii.iii.ScrollPane,带滚动条的容器.d)LayoutManager,布局管理器,表示容器管理其他组件的方式.i.ii.iii.iv.v.vi.FlowLayout,流式布局,类似于Window平台记事本的文本布局方式.BorderLayout,边框布局,只能盛装5个组件,这5个组件分别位于边框布局容器的东西南北中五个方位.GridLayout,网格布局,将组件以网格形式显示在容器中.GridBagLayout,网格包布局,一种较为复杂的布局管理器,依赖GridBagConstraints来约束组件.CardLayout,卡片布局,以时间来管理容器内的组件,将组件看作是一张张卡片,每次显示最外面一张卡片(组件).BoxLayou,箱式布局,通常与Box容器结合使用.6.AWT 的事件
a)应用程序响应用户的某个动作或请求,如用户单击了一下鼠标,用户请求关闭应用
程序窗口等.b)AWT编程中,所有事件的处理都必须交给特定的对象来完成,我们将这个特定的对
象称为事件监听器.c)AWT的事件处理机制是一种委派式的事件处理方式,通过将某个事件监听器注册
到用户指定的组件,当用户进行某个操作并触发指定事件时,应用程序会自动产生一个事件(Event)对象并作为参数传给事件监听器中的事件处理器,然后由事件监
听器通知事件处理器来响应用户,完成用户的请求.d)不同的事件需要不同的事件监听器,不同的监听器需要实现不同的监听器接口.e)事件监听器接口:为某个特定事件定义了响应用户请求的方法,当用户将某个事件
监听器注册到指定组件上以响应特定的事件时,则该事件监听器必须实现对应的事件监听器接口才能对用户的请求进行有效处理.例如,用户点击了鼠标右键,希望打开某个应用程序的右键菜单,则注册到该应用程序上的事件监听器必须实现鼠标事件监听器接口,并实现该接口内部某些方法来完成用户的请求.f)事件适配器,很多时候,我们只需要实现某个事件监听器接口中个别方法就能完成应用程序的实际需求,但实现该事件监听器接口的类必须实现该接口中所有的抽象方法,这会造成代码的冗余.而事件适配器可以帮我们解决这个问题,事件适配器实现了所有的拥有多个抽象方法的事件监听器接口,并空实现了这些接口中所有的抽象方法,所谓空实现,就是方法中没有任何实现代码,因此,我们可以通过继承对应事件监听器接口的事件适配器抽象类,并实现我们感兴趣的方法来完成应用需求即可.g)Java事件处理过程中主要涉及的三类对象
i.事件源,通常为普通组件.ii.事件,通常指用户的某个操作,如单击了一下鼠标,按了一下回车键.iii.事件监听器,负责监听事件源上所发生的事件,并作出响应.h)AWT事件监听器的实现形式
i.ii.内部类形式 顶级类形式
iii.类本身作为事件监听器
iv.匿名内部类形式
v.注:目前最为流行的事件监听器的实现形式是内部类形式和匿名内部类形式.7.AWT绘图
a)AWT绘图的实现过程.i.重写画布类的paint方法,绘图图形.ii.注册事件监听器到指定的组件.iii.调用Component类的repaint方法绘制图形.b)AWT实现绘图主要涉及的对象
i.ii.c)Component类的子类Canvas类,它代表一个画布.Graphics,代表一个画笔,可以在Canvas的子类中绘制用户自订的图形.Image类代表了位图,它的一个主要的实现类BufferedImage是可以访问图形数据
缓冲区,并可以返回一个Graphics对象来绘制该BuuferedImage.d)可以使用ImageIO工具类的ImageReader和ImageWriter读写磁盘上的位图文件.8.AWT的优缺点
a)AWT在许多非桌面环境,如嵌入式设备中有着自己的优势,它的主要优点如下:i.ii.iii.iv.更少的内存:对运行在有限环境中的GUI程序的开发,是合适的。2.更少的启动事件:由于AWT组件是本地由操作系统实现的。绝大多数的二进制代码已经在如系统启动的时候被预装载了,这降低了它的启动事件。3.更好的响应:由于本地组件由操作系统渲染。4.成熟稳定的:能够正常工作并很少使你的程序崩溃。
b)同样它也有不少的缺点
i.ii.iii.更少组件类型:表和树这些重要的组件缺失了。它们是桌面应用程序中普遍使用的。2.缺乏丰富的组件特征:按钮不支持图片。3.无扩展性:AWT的组件是本地组件。JVM中的AWT类实例实际只是包含本地
组件的引用。唯一的扩展点是AWT的Canvas组件,可以从零开始创建自定义组
件。然而无法继承和重用一个已有的AWT组件
9.AWT总结:AWT是SUN不推荐使用的工具集,实际开发中很少使用AWT而是使用SUN公司
和Netscape公司共同开发的一个新的用户界面库-Swing来开发GUI应用程序,AWT是图形用户界面编程的基础,它的布局管理、事件机制、剪贴板操作等内容仍然适用于Swing GUI编程.
第五篇:Java编程学习顺序
1.第一阶段 掌握要点:Java语基础知识。包括异常、IO流、多线程、集合类、数据库。
(切记基础知识一定要时时刻刻巩固)eg:Java编程思想、Java2 核心技术
2.第二阶段掌握要点:Tomcat,毋庸置疑,Tomcat为学习web服务首选。而应用服务器
目前主要有:jboss , weblogic.websphere.而Tomcat和jboss是首选。
3.第三阶段掌握要点:Java网络编程。包括:SocketRMLHTMLJSPJavaBean
Servlet.开发工具:Myeclipsedreamweaver顺序:
1、学习web 知识:htmldreamwavejavascript2、先学习jsp设计、Javaservlet编程
3、学习jdbc数据库编程
4、学习,他和学习ejb可以结合起来《《精通ejb》》学习ejb设计模式和看代码(最重要)《jsp2.0 技术手册》 在jsp上不要花太多时间,在时间放在servlet多一些
4.第四阶段 掌握要点:流行MVC 架构和Java对象持久化技术。包括struts
SpringHibernate JSF.学习过程:先学Struts,再学习Hibernate,最后学习Spring