java7
JAVA7 环境安装配置图文详解
JA V A7 环境安装配置图文详解
一.安装JDK
双击jdk-7-windows-i586 安装文件,出现安装界面
等待,直到“下一步”按钮可用,点击下一步。
路径保持默认即可,点击下一步。
Jdk安装完成,会自动弹出安装jre界面,全部默认,直接点击下一步即可
二.配置JDK环境变量
在“我的电脑”鼠标右键→属性→点击“高级”选项卡
点击“环境变量”
点击新建,出现新建系统遍历对话框。
变量名:JA V A_HOME
变量值:C:\Program Files\Java\jdk1.7.0(以JDK 实际安装路径为准)点击确定即可。
接着,在系统变量中找到并选中path变量,然后点击“编辑”
弹出path变量编辑窗口
用鼠标选中“变量值”,并将光标一道最后,增加“;C:\Program Files\Java\jdk1.7.0\bin”
注意,上面需要增加的路径中,最前面带有分号。
点击确定保存完成配置。
三.测试环境变量是否配置完成
点击“开始”→“运行”→输入javac 回车,出现命令列表,JDK 安装成功,如下图。
Java课件7Java数组
17
7.4 二维数组
扫描一个二维数组需用二重循环,例如:
for(int i=0; i<aai.length; i++){ System.out.println(); for(int j=0; j<aai[i].length; j++) System.out.println(aai[i][j]); }
ai = new int[10]; as1 = new String[25];
可以把数组创建作为数组变量定义的初始化过程, 从而将数组定义的两个步骤和并成一个: int[] ai = new int[10];
7
7.2 数组创建…
数组元素的默认初始值为:
– 0 值:对于数值类类型(如 int、double 等) – false:对于 boolean 类型 – null:对于引用类型(如 String 等)
下面的定义创建一个二维数组,元素初值均为 0: aai=new int[3][4]; 其中 3 是第一维(行)的长度,4 是第二维(列 )的长度。
15
7.4 二维数组…
可以在定义数组时用指定的数据进行初始化,如: int[][] aai={{ 1, 2, 3, 4}, { 5, 6, 7, 8}, { 9,10,11,12}, }; aai 1 5 2 6 3 7 4 8
通过下标访问既可以取数组元素的值,也
可以为数组元素赋值。
11
7.3 数组访问…
数组对象的成员
length 是一个表示数 组长度(数组元素个数)的常量,常用来 控制对数组的扫描,例如: for(int i=0;i<ai.length;i++) System.out.println(ai[i]);
Java JDK7怎么安装和配置
Java JDK7怎么安装和配置JDK(Java Development Kit)就是Java的开发工具包,无论是开发javase,javaee,javaee.是给Java开发者必须用到的开发工具。
下面就让小编给打击说说Java JDK7怎么安装和配置吧。
Java JDK7安装配置方法首先需要去官网下载jdk7 软件包。
根据你自己的操作系统下载相应的软件包。
如图:2下载完成以后,直接运行软件包的安装文件。
如下图:单击“下一步”,如图:选择要安装的类容,如果想改变要安装的路径,单击“change",否则直接单击”下一步“。
如下图:软件包进行安装,可以看到安装进度条。
安装完成以后,查看文件的安装路径。
JDK安装完成以后,并不能立即使用,还需要配置环境变量。
右键“我的电脑”,选择“属性”---“高级设置”---“高级”---“环境变量”。
在这里有两个变量,一个是使用者变量,一个是系统变量,建议在系统变量新增环境变量。
如下图:在这里需要新增或者编辑3个变量(如果已经设置了这三个变量则选择“编辑”,如果没有这3个变量则要选择“新增”),第一个:[JAVA_HOME]变量值:[C:\Program Files\Java\jdk1.7.0_06]第二个[path][%JAVA_HOME%\bin;]多个变量值之间用”;“隔开。
第三个:[CLASSPATH]变量值:[ %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; ]多个变量值之间用”;“隔开。
通过以上步骤,JDK就已经配置完成。
下面通过以下步骤验证安装。
在命令行中输入"cmd",回车。
进入“命令行模式”。
如下图:在命令行中输入:javac.能够看到一堆java指令,说明已经配置成功。
Java JDK7怎么安装和配置相关文章:1.Java JDK下载安装和环境变量配置完整图文教程2.JDK怎么安装与配置环境变量3.怎么配置win8 jdk环境变量4.winXP怎么配置Java环境变量5.Mac OS X下怎么搭建Java开发环境6.Ubuntu 14.04怎么安装java。
Java7新特性和用法简介
Java7新特性和用法简介Java是目前使用最广泛的编程语言之一,它的稳定性以及广泛的应用领域使得Java在软件开发中占据了重要地位。
在Java的发展历程中,伴随着各种技术和新特性的推出,Java在不断地优化,让编程变得更加简单和高效。
Java7作为Java语言的重要版本,引入了许多新特性和用法,让我们一起来了解一下Java7的新特性和用法吧!1.自动关闭资源(Try with Resources)在Java7中,引入了一种新的资源自动关闭方式,可以避免程序员在每一个资源处理完之后都要手动关闭资源。
实现该功能主要是通过使用try-with-resources语句,该语句允许使用一个或多个资源,这些资源都将在try语句结束后自动关闭。
例如,如果在程序中使用文件流IO等资源,我们可以这样写:```try (FileInputStream fis = new FileInputStream("test.txt")){//Do Something...} catch (IOException e) {e.printStackTrace();}```这样当try语句结束时,无论是否有异常抛出,文件流都会自动关闭,代码变得更加简洁和安全。
2.多异常捕获(Multi-Catch)以前,Java代码中只能在一个catch语句中处理一个异常,但在Java7中,可以在一个catch块中处理一个或多个异常。
这样有利于简化代码,提高代码可读性和维护性。
例如:```try {//Do Something...} catch (IOException | NullPointerException e){e.printStackTrace();}```可以看到,使用“|”片断连接多个异常,捕获多种异常类型,让代码更加高效。
3.字符串在switch中使用在Java6之前,我们在使用switch语句时,只能使用整数类型或枚举类型。
Ubuntu系统下搭建Java7开发环境
在Ubuntu系统下安装Java 7一、Ubuntu 默认安装了OpenJDK,可以查看其Java版本信息如下:zgj@wildflower:~$ java -versionjava version "1.6.0_24"OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)二、安装JDK7采用PPA 源(Personal Package Archives个人软件包档案)安装方式,在Ubuntu系统下安装Java 7很简单,过程如下:1. 添加Oracle JDK7 到软件仓库zgj@wildflower:~$ sudo add-apt-repository ppa:webupd8team/javaYou are about to add the following PPA to your system:Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK6 / JDK7 / JDK8). There are no actual Java files in this PPA. More info:/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.htmlMore info: https:///~webupd8team/+archive/javaPress [ENTER] to continue or ctrl-c to cancel adding itgpg: 钥匙环‘/tmp/tmp3Z16ED/secring.gpg’已建立gpg: 钥匙环‘/tmp/tmp3Z16ED/pubring.gpg’已建立gpg: 下载密钥‘EEA14886’,从 hkp 服务器 gpg: /tmp/tmp3Z16ED/trustdb.gpg:建立了信任度数据库gpg: 密钥 EEA14886:公钥“Launchpad VLC”已导入gpg: 合计被处理的数量:1gpg: 已导入:1 (RSA: 1)OK2. 更新软件仓库zgj@wildflower:~$ sudo apt-get update[sudo] password for zgj:忽略 precise InRelease忽略 precise-updates InRelease忽略 precise-backports InRelease命中 precise Release.gpg命中 precise-updates Release.gpg命中 precise-backports Release.gpg命中 precise Release ......................正在读取软件包列表... 完成3. 下载并安装JDK7zgj@wildflower:~$ sudo apt-get install oracle-java7-installer正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成下列软件包是自动安装的并且现在不需要了:................在提示窗口中分别选择<确定>、<是>,如下所示:2013-02-12 19:46:37 (1021 KB/s) - 已保存“jdk-7u13-linux-i586.tar.gz” [97489971/97489971])Oracle JRE 7 browser plugin installed正在设置 gsfonts-x11 (0.22) ...安装完成!三、Java7环境测试1.安装好的JDK7所在文件夹是“usr/lib/jvm/java-7-oracle” ,如下图所示。
JAVA实验7
浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。
2.掌握JAVA语言对象的声明和使用。
3.掌握JAVA语言构造方法的概念和使用。
4.掌握类及其成员的访问控制符的区别和使用。
【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。
(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。
class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。
Java程序设计教程第7章7.2 多 态
master.feed(xxx); ……
public void feed( XXX xxx ) { xxx.eat();
可否使用一个feed(Pet pet) 实现对所有宠物的喂食?
}
… … 频繁修改代码,代码可扩展性、可维护性差,
}
如何优化?
课堂操作——购置新车2-2
提前做完的同学可以尝试改进系统:
1. 循环从控制台选择汽车种类 2. 从控制台输入天数 3. 累加计算总租金
20/30
多态
总结
使用多态的好处
减少类中代码量 提高代码的可扩展性和可维护性
向上转型——子类转换为父类,自动进行类型转换
向下转型——父类转换为子类,结合instanceof运算符进行强 制类型转换
编写测试方法
调用主人类给狗狗喂的方法 调用主人类给企鹅喂的方法
为什么使用多态5-2
3/30
为什么使用多态5-3
问题
如果再领养XXX宠物,并需要给XXX喂食,怎么办?
添加XXX类,继承Pet类,实现吃食方法 修改Master类,添加给XXX喂食的方法
4/30
为什么使用多态5-4
主人类
练习
需求说明
使用多态实现喂养宠物功能 增加宠物猫并喂食,其健康值增加4
9/30
使用父类作为方法返回值实现多态
使用多态实现领养宠物
使用父类作为方法返回值 实现思路
在Master类添加领养方法getPet(String typeId ) 创建测试类,根据主人选择宠物类型编号来领养宠物
public class Master { public void feed( Dog dog ) { dog.eat(); } public void feed( Penguin pgn ) { pgn.eat(); }
java PPT 教学7
7.2 继承中的构造函数
• 继承中的构造函数
– 构造函数是比较特殊的一类 – 在继承时,构造函数不会被继承,也不 会被覆盖 – 父类和子类的构造函数依然是独立存在, 并且分别发挥着作用 – 例题:类Drawing继承自类Art,类 Cartoon又继承自类Drawing。它们的构 造函数中分别显示一行文字
• 继承中的构造函数
– 创建Chess对象的前提是创建BoardGame 对象,因此必须在Chess的构造函数里显式 地调用父类的构造函数 – 创建BoardGame对象的前提条件是创建 Game对象,因此也需要在BoardGame的 构造函数里显式地调用Game类的构造函数 – 此时,调用父类构造函数的语句必须是子类 构造函数的第一条语句,以保证父类的对象 在子类的对象创建之前创建
• 类的继承性的特点
– 注意函数SetInnerVar(), GetInnerVar(), 它们修改、显示MyClass的私有变量 privateVar – 子类通过这两个函数成功地修改了父类的 私有变量值,并通过函数将其显示出来 – 问题:子类并没有继承父类的私有变量, 那么它通过公有函数修改的私有变量是来 自哪里的呢?
• 类的继承性的特点
– 程序中有两处错误,父类的缺省级变量 packageVar和私有级变量privateVar不能 被其它包中的子类继承 – MyOuterSub继承了父类的所有公开级、 保护级成员 – MyOuterSub也可以通过两个公开的函数 SetInnerVar()和GetInnerVar()来改变和 获取父类的私有变量的值
2、类的继承性的特点
– 在Java中,一个类只能有一个父类 – Java只支持单继承,而不支持多重继承 – 单继承的类子代相承,会形成一棵继承树, 结构较为清晰 – 多重继承会形成一张复杂的继承网,结构 复杂,容易出错 – 如果需要多重继承,Java提供了一种接口 技术,可以部分地实现多重继承的功能
java课件 第七章 数组
7.3 数组访问
数组是一种数据结构,它由一组数组元素组 成。 数组是一种对象,它也有自己的成员变量和 方法。 数组一旦创建,就可以通过数组对象的引用 访问数组中的每一个元素,或者访问数组的 成员变量和方法。
14
7.3.1 对数组元素的访问
访问数组元素可以使用以下表达式: <数组对象引用>[<下标>] 数组访问表达式的类型是数组元素的类型,值是对 应数组元素的值。数组访问表达式的计算结果是变 量,可以出现在赋值操作符的左边。 <下标>是一个表达式,其类型可以是byte、char、 short或int型,但最终都会自动单目算术提升为int 型。<下标>的类型不能是long型。 <下标>的取值从0开始,一直到数组的长度减1。如 果<下标>值超出了允许的取值范围,将引发运行时 例外ArrayIndexOutOfBoundsException。
18
7.4 二维数组
在Java语言中,所谓二维数组是指数组的嵌套,即 数组的数组。 一个数组的数组元素类型既可以是基本类型,也可 以是引用类型。其中,引用类型就包括数组类型。 当一个数组的数组元素类型本身是数组类型时,就 形成了二维数组,甚至三维数组、四维数组等。 int[][] 表示一个int型的二维数组。其中: 第1个方括号可 以理解为第一维(外层)数组,其元素类型为int[] 型;第2个方括号可以理解为第二维(被嵌套的内 层)数组,其元素类型为int型。
4
7.1.2 数组变量
数组对象也需要通过变量来引用和操纵,这种变量 称为数组变量。 数组变量是指那些类型为数组类型的变量。 数组变量是引用型变量,其中存储着指向某个数组 对象的一个引用值。定义数组变量的例子:
JavaJDK7安装环境配置
JavaJDK7安装环境配置Win8下JDK7环境变量的配置:选择环境变量(EnvironmentVariable).新建3个环境变量(PATH,CLASSPATH,JAVA_HOME),若有则不用新建。
给3个环境变量增加相应的值(由Java所在的路径决定,根据具体情况修改),例如:PATHD:\ProgramFile\Java\jdk1.7.0_10\bin;D:\ProgramFile\Java\jdk1.7.0_10\jr e\binCLASSPATHD:\ProgramFile\Java\jdk1.7.0_10\lib;D:\ProgramFile\ Java\jdk1.7.0_10\lib\tool.jarJAVA_HOMED:\ProgramFile\Java\jdk1.7.0_10若添加正确,注销或重启计算机以后,在PowerShell或cmd中输入java-verion和javac-verion会显示版本信息。
2解压。
3把解压后的文件夹放到/ur/local下面。
4在主目录下找到隐藏文件.profile,若没有.profile,则去找文件.bah_profile(注意文件名以点号开头,因为是隐藏文件)。
5在文件.profile或.bah_profile中添加环境变量,在文件的最末尾加上以下4行(需根据具体情况修改):e某portJAVA_HOME=/ur/local/jdk1.7.0_10e某portJRE_HOME=${JAVA_HOME}/jree某portCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libe某portPATH=${JAVA_HOME}/bin:$PATH若添加正确,注销或重启计算机以后,在BahShell中输入java-verion和javac-verion会显示版本信息。
怎样快速安装Java7
怎样快速安装Java7
现在Java对于很多开发人员都不是陌生的东西了,但是你可能还不会熟练地安装Java。
其实安装Java很简单,只要下载软件然后安装,安装完成后配置环境变量即可运行。
下面就让店铺给大家说说怎样快速安装Java7吧。
快速安装Java7的方法
百度搜索Java,然后点击打开Java的官网。
2在首页中点击免费下载Java按钮,进行Java的下载。
下载完成后点击软件,进行安装。
点击安装后,出现如下的界面,点击右侧的安装按钮。
程序将会自动执行安装过程,在安装的过程中程序会自动下载它所需要的文件。
显示正在进行安装。
安装完成。
Java安装完成后的界面如下图所示。
Java在C盘中的安装目录如下图所示:
这样才安装了jre(java运行时环境),需要对应的jdk才能够运行java.百度搜索jdk。
打开官网并找到相应的jdk,点击打开下载界面。
下载并安装到java目录中。
到此Java的快速安装就已经完成,如果是系统或浏览器提示进行的安装,那么到此步就可以结束了。
如果你需要自己使用Java,比如进行Java的程序开发的话,你还需要进一步配置环境变量,这样你的开发工具比如Eclipse才能够正常地运行。
Java程序设计教程 第7章-Java GUI编程技术
7.2.1 java.awt简介
7.2 java.awt编程技术
Java程序设计
7.2 java.awt编程技术
7.2.2 Component类
❖Component类是java.awt包中最核心、最基本的类。Component类是构成Java图形用 户界面的基础,大部分组件都是由该类派生出来的。Component类是一个抽象类,其 中定义了组件所具有的一般功能,可在屏幕上显示,并可与用户进行交互,其子类如 按钮、文本框等。 ❖Component类定义的方法如下: ❖基本的绘画支持:paint(), repaint(), update()等; ❖字体和颜色等外形控制:setFont(), SetForeground()等; ❖大小和位置控制:SetSize(), SetLocation()等; ❖图像处理:实现接口ImageObserver; ❖组件状态控制(SetEnable, isEnable, isVisible, isValid等。
Java程序设计
7.2 java.awt编程技术
7.2.1 java.awt简介
❖java.awt包提供很多类和接口,包括: ❖基本组件(Component):构成GUI界面的基本元素,具有坐标位置、尺寸、字体、颜 色等属性,能获得焦点、可被操作、可响应事件等。 ❖容器类组件(Container):用来盛放组件的组件等。 ❖2D图形绘制组件(Graphics):提供在组件上绘制图形的方法。 ❖布局管理器(LayoutManager):用来安排容器中组件的位置和大小。 ❖事件处理模型:用来响应图形界面组件所触发的事件。
Java程序设计
7.1 GUI编程的Java实现
7.1.2 swing
A077Java 7 try-with-resources
Java 7 try-with-resources1.1 知识能力Java7之前需要在finally中关闭socket、文件、数据库连接等资源。
Java7中在try语句中申请资源,实现资源的自动释放(资源类必须实现ng.AutoCloseable接口或者java.io.Closable接口,一般的文件、数据库连接、流等均已实现该接口,close方法将被自动调用)。
1.2 职业素质Java7对于try语句的优化使得代码得到了优化,本来容易被忘记的细节得到了改进,使程序更完善。
Java7后,编程人员不用在对之前申请的资源进行一一释放,try 语句可以自动释放无用的资源,程序更加安全。
1.3 开发流程例如:String readFirstLineFromFile(String path) throwsIOException {try (BufferedReader br = new BufferedReader(newFileReader(path))) {return br.readLine();}}或:try (FileOutputStream fos = newFileOutputStream("movies.txt");这2段代码中均打开了文件流,在Java 7之前,应该在结束对文件的操作之后,将流关闭。
在Java7之后,就可以不需要我们自己手工去关闭这些流了。
1.4 项目拓展在以前的代码中,申请的资源需要手动释放,使得许多资源被忘记释放,从而导致资源的浪费。
Java7的升级优化了代码,为程序的良好运行提供了帮助。
这简化了编程人员的工作,但是也有弊处:许多编程人员因此对哪些语句申请了资源并不清楚。
在写项目时,清楚资源的申请和释放问题是十分有必要的。
Java7安装
第一步:下载jdk‐7‐linux‐i586.tar.gz01.wget ‐c /otn‐pub/java/jdk/7/jdk‐7‐linux‐i586.tar.gz(注:如果下载不下来,建议使用迅雷下载,然后拷贝到Linux系统上。
)第二步:解压安装01.sudo tar zxvf ./jdk‐7‐linux‐i586.tar.gz ‐C /usr/lib/jvm02.cd /usr/lib/jvm03.sudo mv jdk1.7.0/ java‐7‐sun第三步:修改环境变量[plain] view plaincopy01.vim ~/.bashrc添加:01.export JAVA_HOME=/usr/lib/jvm/java‐7‐sun02.export JRE_HOME=${JAVA_HOME}/jre03.export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib04.export PATH=${JAVA_HOME}/bin:$PATH保存退出,输入以下命令使之立即生效。
01.source ~/.bashrc第四步:配置默认JDK版本由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。
执行代码:01.sudo update‐alternatives ‐‐install /usr/bin/java java /usr/lib/jvm/java‐7‐sun/bin/java 30002.sudo update‐alternatives ‐‐install /usr/bin/javac javac /usr/lib/jvm/java‐7‐sun/bin/javac 30003.sudo update‐alternatives ‐‐install /usr/bin/jar jar /usr/lib/jvm/java‐7‐sun/bin/jar 300执行代码:01.sudo update‐alternatives ‐‐config java系统会列出各种JDK版本,如下所示:01.snowdream@snowdream:~$ sudo update‐alternatives ‐‐config java02.有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
java泛型系列七、通配符
java泛型系列七、通配符在泛型代码中,称为通配符的问号 (?) 表⽰未知类型。
通配符可⽤于多种情况:作为参数、字段或局部变量的类型;有时作为返回类型(尽管更具体的是更好的编程实践)。
通配符永远不会⽤作泛型⽅法调⽤、泛型类实例创建或超类型的类型参数。
以下部分更详细地讨论通配符,包括上限通配符、下限通配符和通配符捕获。
1、上限通配符您可以使⽤上限通配符来放宽对变量的限制。
例如,假设您想编写⼀个适⽤于 List<Integer>、List<Double> 和 List<Number> 的⽅法;您可以通过使⽤上限通配符来实现这⼀点。
要声明上限通配符,请使⽤通配符 ('?'),后跟 extends 关键字,然后是其上限。
请注意,在此上下⽂中,extends 在⼀般意义上⽤于表⽰“扩展”(如在类中)或“实现”(如在接⼝中)。
要编写适⽤于 Number 集合和 Number ⼦类型(例如 Integer、Double 和 Float)的⽅法,您需要指定 List<? 扩展数字>。
术语 List<Number> ⽐List<? extends Number> 因为前者只匹配 Number 类型的集合,⽽后者匹配 Number 类型的集合或其任何⼦类。
考虑以下处理⽅法:public static void process(List<? extends Foo> list) { /* ... */ }上限通配符,<? extends Foo>,其中 Foo 是任何类型,匹配 Foo 和 Foo 的任何⼦类型。
process ⽅法可以访问 Foo 类型的集合元素:public static void process(List<? extends Foo> list) {for (Foo elem : list) {// ...}}在 foreach ⼦句中,elem 变量迭代集合中的每个元素。
Java知识7Java方法void关键字构造方法【多测师】
Java知识7Java⽅法void关键字构造⽅法【多测师】⼀、Java⽅法:println 是⼀个⽅法System 是系统类out 是标准输出对象这句话的⽤法是调⽤系统类 System 中的标准输出对象 out 中的⽅法 println()。
⽅法定义:包含的语法修饰符返回值类型⽅法名(参数类型参数名){...⽅法体...return返回值; }修饰符:可选的告诉编译器如何调⽤该⽅法定义了⽅法的访问类型返回值类型:⽅法可能有返回值 returnValueType是返回数据类型没有返回值returnValueType为void⽅法名:⽅法名和参数表共同构成⽅法签名参数类型:参数像⼀个占位符当⽅法被调⽤的时候传递值给参数、这个值被称为实参或变量参数列表是指⽅法的参数类型、顺序和参数的个数参数是可选的⽅法可以不包含任何参数⽅法体:⽅法体包含具体的语句定义该⽅法的功能在⼀些其它语⾔中⽅法指过程和函数。
⼀个返回⾮void类型返回值的⽅法称为函数;⼀个返回void类型返回值的⽅法叫做过程。
实例:下⾯⽅法包含2个参数 num1和num2 它返回这俩个参数的最⼤值/** 返回两个整型变量数据的较⼤值 */public static int max(int num1, int num2) {int result;if (num1 > num2)result = num1;elseresult = num2;return result;}⼆、⽅法调⽤定义⼀个⽅法、进⾏调⽤代码如下:public class TestMax {/** 主⽅法 */public static void main(String[] args) {int i = 5;int j = 2;int k = max(i, j);System.out.println(i + " 和 " + j + " ⽐较,最⼤值是:" + k);}/** 返回两个整数变量较⼤的值 */public static int max(int num1, int num2) {int result;if (num1 > num2)result = num1;elseresult = num2;return result;}}这个程序包含 main ⽅法和 max ⽅法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
·文本输入区(TextArea) TextArea用于显示多行多列的文本信息,生成方式如下: TextArea taObj = new TextArea ("Hi",3,20); 在上面的语句中,第一个参数表示初始字符,第二个和第三个参 数分别表示行数和列数。 菜单(Menu) 菜单和其他组件不同,不能直接添加到容器中某一位置,可以添 加到菜单条或其他菜单中。 菜单条(MenuBar)是一种水平菜单,只能添加到Frame对象中, 作为菜单树的根基。 下面是菜单条对象生成和添加到Frame对象中的示例语句: Frame frObj = new Frame ("Frame title"); MenuBar mbObj = new Mew MenuBar (); frObj.setMenuBar (mbObj);
单选框对象的生成方法
生成复选框组对象 CheckboxGroup cbgobj = new CheckboxGroup (); Checkbox c1 = new Checkbox ("one",cbgobj, true); Checkbox c2 = new Checkbox 生成单选框对象 ("two",cbgobj, false); 文本标签:显示在对象上 复选框组: 组名不为空,表示生成的对象是单选框 复选框对象状态:ture表示生成的复选框对象为选中 状态,false表示非选中状态。
MyFramepanel.java
适配器
很多事件监听器接口中定义了很多抽象方法, 我的程序中可能只用到其中的一个或几个, 但根据语法规则,实现接口时需要把其中定义 的方法都要实现,对程序中不用的方法也需要 填进空语句。 例子: 有象WindowListener接口,有7个方法,而很 多程序中可能只用到其中的windowClosing方 法,以便写上窗口右上角的关闭按钮的关闭程 序功能。这样就使程序编写显得非常麻烦。
Frame and Panel event handlers
事件处理方法
• • • •
实现事件监听器接口法: 1)首先给组件注册监听器,使用下列方法: addxxxListener(事件监听器对象); 2)确定了事件监听器的类型后,必须在程序中 定义类来实现这些接口,重写接口中的所有方法。
f.addWindowListener(new MyWindowListener()); class MyWindowListener implements WindowListener { public void windowOpened(WindowEvent e) {System.out.println(“open"); } “ …… }
AWT事件模型
JDK1.2的事件模型:委托模型
事件监听器:实现了监听器接口的类。一个监听器对象是 事件监听器:
一个实现了专门的监听器接口的类的实例。 Frame
Panel Button Action event 事件监听器 actionPerformed(ActionEvent e){}
Action handlers
MyFrame.java
组件的添加及布局
Button btn1=new Button("winsun"); f.add(btn1); 容器里组件的位置和大小是由布局管理器来决定的。容器对 布局管理器的特定实例保持一个引用。当容器需要定位一个 组件时,它将调用布局管理器来完成。当决定一个组件的大 小时,也是如此。 在AWT中,给我们提供了五种布局管理器: BorderLayout FlowLayout GridLayout CardLayout GridBagLayout
BorderLayout
系统缺省的布局管理器
f
MyFrame.java
布局管理器
我们可以通过设置布局管理器,来控制组件的大小 和位置。调用setLayout(对象)。
f.setLayout(new BorderLayout(100,100)); f.setLayout(new FlowLayout(FlowLayout.LEFT)); f.setLayout(new GridLayout(3,2,10,10));
适配器
为简化程序,Java中预定义了一些特殊类,这些类已 经实现了相应的接口,所有方法都写上了空语句。 同时又可以只选择程序中需要的方法进行重写,非常 方便。 Java中将这些预定义的类称为事件适配器类,类似于 监听器接口,为方便使用,这些类的名称有一定的规则: 只要将相应接口名称中的Listener改为Adapter即是该 监听器接口对应的适配器类。 如WindowListener对应的适配器类为WindowAdapter, MouseListener对应的适配器类为MouseAdapter。 有一些接口如AcitonListener,本身只有一个方法需 要实现,JDK中就没有定义该接口的Adapter 可利用匿名类实现一个适配器。
Events(事件):描述发生了什么的对象。 Event source(事件源):事件的产生器。 Event handlers(事件处理器):接收事件对象、 handlers( ) 解释事件对象并处理用户交互的方法。
AWT事件模型
JDK1.0的事件模型:层次模型
Frame
Panel Button
Action event
教学重点与难点: 教学重点与难点
框架的组成及外观 在框架中显示文本和图形 字体和颜色的设置 Java的事件处理机制 的事件处理机制 窗口事件、 窗口事件、按钮事件的处理
7.1
图形用户界面概述
Java1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是 希望构建一个通用的GUI,使得利用它编写的程序能够运行在 所有的平台上,以实现Sun公司提出的口号“一次编写,随处 运行”。 在Java1.2中,Sun公司推出了新的用户界面库:Swing。 相对AWT来说,Swing功能更强大、使用更方便,它的出现使 得Java的图形用户界面上了一个台阶。 如果我们使用AWT在一个Java窗口中放置一个按钮,那么 实际上使用的是一个具有本地外观和感觉的按钮。这样,从理 论上来说,我们所编写的图形界面程序能运行在任何平台上, 做到了图形界面程序的跨平台运行。
MyFramepanel.java
复选框对象的生成方法
checkbox chbobj=new checkbox("one"、null、 true);
第一个参数是复选框的文本标签; 第二个参数为复选框的组名, 组名为空,表示生成的对象是复选框 第三个参数代表复选框对象的状态,ture表示 生成的复选框对象为选中状态,false表示非选 中状态。
可以通过面板容器,灵活设置组件的位置大小。 Panel pan=new Panel();此时f.setLayout(null), pan.setLayout(null) 。必须对所有的组件调用 setLocation(),setSize() 将它们定位在容器中。
MyFramepanel.java
AWT事件模型
第七章 图形用户界面的设计与实现
学习导读 首先,我们学习一些基本的图形编程知识, 首先,我们学习一些基本的图形编程知识, 包括窗口的显示及外观设置、 包括窗口的显示及外观设置、在窗口中显示文 字和图像等; 字和图像等; 接下来, 介绍Java的事件处理机制 , 例如 的事件处理机制, 接下来 , 介绍 的事件处理机制 如何在程序中接收并处理如键盘按键和鼠标点 击等“事件”; 击等“事件” 最后, 最后 , 系统地介绍图形用户界面中常用组 件的用法,如布局管理器、文本框、菜单、 件的用法,如布局管理器、文本框、菜单、对 话框等。 话框等。
单行文本输入区(TextField)的几种生成方法
//生成一个空的单行文本输入区 TextField tfObj1 = new TextField(); //生成一个列数为5的单行文本输入区, TextField tfObj2 = new TextField(5); //生成一个文本内容为 name 的单行文本输入区 TextField tfObj3 = new TextField("name"); //生成一个文本内容为name且列数为5的单行文本输入 区 TextField tfObj4 = new TextField("name",5); 注意:TextField 只能显示一行
HisFrame.java
下拉式菜单(Choice)
下拉式菜单适用于有大量选项同时又需要节省窗口面积的情况, 每次只能选择下拉式菜单中的一项。 下拉式菜单对象的生成方式如下: choice choiObj = new Choice (); choiObj.add("class1"); choiObj.add("class2"); choiObj.add("class3"); 以上生成了包含有class1、class2和class3的下拉式菜单。 标签(Lable) 标签可以说是最简单的一种组件,用于在界面上显示一行文字, 生成方式如下: Label labObj = new Label ("Book name"); 上面的语句生成了一个标记文字为Book name 的标签。
7.2
简单图形用户界面
7.2.1 第一个图形用户界面
在Java中,顶层窗口称为框架。在AWT库中,对应于框架 的类是Frame,框架是一个容器,我们可以在这个容器中放入 其他一些图形用户界面组件,如按钮、菜单等,从而组成一个 功能完善的程序。 常用方法: frame f=new Frame(“mybole”); f.setSize(600,400); f.setLocation(100,100); f.setBackground(Color.blue); f.show();
对话框组件
FileDialog fd=new FileDialog(f,"Weixin Open File Dialog", FileDialog.LOAD); fd.getDirectory()+fd.getFile(); 综合实例:打开一个文件并将文件内容显示在一个窗口的文本区域内。 综合实例:打开一个文件并将文件内容显示在一个窗口的文本区域内。 组件: 组件 Frame,TextArea, MenuBar, Menu, MenuItem, FileDialog. 类: WindowAdapter,ActionListener, FileInputStream