版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计B实验指导书 尹春娇 编写 胡俊 审定安徽新华学院信息工程学院2015年 5月前 言Java语言是一门当前流行的面向对象的程序设计语言,它相对于C+语言做了一些简化,也增加了一些新特性,是一门实践操作性很强、也比较容易入门的优秀程序设计语言。上机实验的目的在于提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解Java语言的基本结构和面向对象的程序设计方法,体会Java 语言的精髓。为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了10个实验,实验项目比较全面的涵盖了Java语言程序设计的相关知识模块,读者可以根据教材讲授内容选择相应的实验内容,帮助对理论
2、知识的深入理解。 由于编者水平有限,错误和不当之处在所难免,在此恳请读者给予批评指正,编者的电子邮件地址是:yinchunjiao。 2015 年12 月 第一章 Java语言概述实验一 Java 开发环境设置与Java程序结构一、实验目的 1练习java基本开发环境的配置 2编写简单的java程序和applet,体会java程序开发过程,掌握java命令行工具二、实验仪器 1计算机一台三、实验原理 1 Java程序开发的基本环境是Sun公司提供的java开发平台,分J2ME、J2SE、J2EE三种,教学选用J2SE,下载并安装J2SE的最新版本,配置开发环境。2 Java程序的开发过程分编辑
3、、编译、运行三个步骤,应用程序和Applet的运行方式有所不同。四、实验内容1 Java软件开发工具包(J2SE)的下载、安装与环境配置2 编写简单的java应用程序并编译运行五、实验步骤 1下载J2SE安装程序:从Sun官方网站下载J2SE的最新版本的JDK软件包,目前版本是JDK 6.0。JDK软件包安装程序分为在线(Onling)安装和离线安装(OffLine) 两种,根据安装时机子能否连网而做出选择,下载时要注意选择相应的操作系统类型。同时下载J2SE 的Documentation,其中包含 J2SE的API手册,以方便编程时查阅参考。2安装J2SE:运行J2SE安装程序“jdk-6u
4、4-windows-i586-p.exe”,在安装过程中可以设置安装路径及选择要安装的组件,默认的安装路径为“C:Program FilesJavajdk1.6.0_04”,也可以根据需要将J2SE安装到其他目录下。默认的组件选择是全部安装。3. 设置环境变量:为了能正确方便的使用JDK,需要手工配置一些Windows 的环境变量。以Windows XP 为例说明设置过程。在桌面“我的电脑”图标上单击右键,选择“属性”菜单,在出现的系统属性设置界面的 “高级”选项卡中单击“环境变量”按钮,将出现“环境变量”设置界面。在“系统变量”框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变
5、量”对话框中,在“变量值”栏的末尾添加“;C:Program FilesJavajdk1.6.0_04bin”。如果“系统变量”框中没有“Path”变量,则选择“新建”按钮新建一个名为“Path”的环境变量,变量值设为“C:Program FilesJavajdk1.6.0_04bin”。用同样方法设置环境变量“classpath”,为了保证JVM能找到你的程序所在当前文件夹下的自定义的类文件,通常将当前文件夹也添加到“classpath”的变量值中,即将“classpath”的值设置为“C:Program FilesJavajdk1.6.0_04lib;.”。设置完成后,单击“开始”“运行”
6、,在对话框中输入“cmd”,点击“确定”或键盘回车键后打开命令行窗口。在命令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则安装配置正确,如下图所示。4. 编写java源程序:使用文本编辑器(如记事本或EditPlus)编辑简单的java源程序,如下列Hello Java程序: public class HelloJava public static void main(String args) System.out.println("Hello Java!"); 保存源程序,本例存为HelloJava.java。5. 编译并运行java程序
7、:在命令提示符窗口使用Java 编译器(javac.exe)进行编译,将Java 源程序编译成字节码文件(HelloJava.class),然后使用Java 解释器(java.exe)可将编译后的字节码文件HelloJava.class 解释执行。六、数据记录及处理1 JDK安装路径及Path、Classpath变量的配置值2 Java源程序、保存的文件名及运行输出结果七、实验注意事项 1 环境变量配置时多个值之间用分号分割,当前目录”.”添加到classpath变量中2 Java源文件保存时文件名必须与public类名一致八、思考题1 为什么必须配置path和calsspath环境变量?其作
8、用是什么?2 Java虚拟机在java程序执行过程中的作用。第三章 Java面向对象程序设计实验二 面向对象程序设计一、实验目的 1 通过编程和上机实验理解Java语言面向对象编程思想,掌握类和对象的构建与使用,了解成员变量和成员方法的特性,掌握面向对象程序设计的方法。 2了解类的继承性和多态性的作用及实现机制,了解接口的作用,了解包的创建和使用。二、实验仪器 1计算机一台三、实验原理 1 Java是一种纯粹的面向对象的语言,相对于C+做了一些简化,其单继承机制避免了多继承存在的问题,通过接口又弥补了单继承的不足。2 多态性提高了问题的抽象级别,降低了问题的复杂度,多态分两种,静态多态性和动态
9、多态性,分别通过方法重载和继承时方法覆盖实现。3 Java中类和接口属于引用数据类型,因此作为参数传递时实际传的是隐含地址。四、实验内容1 设计类来描述真实客观世界中的事物,使用类的成员变量来表示事物的属性和状态,使用类的成员方法来提供对成员变量的访问或修改;创建类的对象,使用对象的方法来访问或修改对象的变量。(1) 程序功能:设计一个用来描述汽车的类Car,使用类的成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的成员方法来表示改变汽车的速率和停车两个操作;创建主类来使用Car类的对象,在调用类的构造函数时指定对象的变量的初始值,以后再使用对象的方法来访问或修改对象的变
10、量的值。(2) 程序源代码如下。/汽车类 Car的定义class Car private String ownerName; /车主姓名 private float curSpeed; /当前车速 private float curDirInDegree; /当前方向盘转向角度 public Car(String ownerName) this.ownerName=ownerName; public Car(String ownerName, float speed, float dirInDegree) this(ownerName); this.curSpeed=speed; this.c
11、urDirInDegree=dirInDegree; public String getOwnerName() /提供对车主姓名的访问 return ownerName; public float getCurDirInDegree() /提供对当前方向盘转向角度的访问 return curDirInDegree; public float getCurSpeed() /提供对当前车速的访问 return curSpeed; public void changeSpeed(float curSpeed) /提供改变当前的车速 this.curSpeed = curSpeed; public v
12、oid stop() /提供停车 this.curSpeed=0; / 主类 TestCar的定义public class TestCar public static void main(String args) Car car=new Car("成龙",200f,25f); System.out.println("车主姓名: "+car.getOwnerName(); System.out.println("当前车速: "+car.getCurSpeed(); System.out.println("当前转向角度: &qu
13、ot;+car.getCurDirInDegree(); car.changeSpeed(80); System.out.println("在调用changeSpeed(80)后,车速变为: " + car.getCurSpeed(); car.stop(); System.out.println("在调用stop()后, 车速变为: "+car.getCurSpeed(); (3)保存源程序,编译并运行,观察运行结果。2. 使用修饰符来限定类的成员变量或成员方法的属性使用类的成员修饰符来设置类成员的访问权限,可以达到数据保护的目的。编写程序练习修饰符的
14、使用。常用的修饰符如下:public private protected package static final 不同修饰符的访问控制权限如表3.1 所示。访问权限修饰符类子类包所有类和包publicprivateprotected缺省权限表 3.1(1) 程序功能:通过两个类StaticDemo、Test 说明静态变量/方法与实例变量/方法的区别。(2) 程序源代码如下。class StaticDemo static int x;int y;public static int getX() return x;public static void setX(int newX) x = new
15、X;public int getY() return y;public void setY(int newY) y = newY;public class Test public static void main(String args) System.out.println("静态变量x="+StaticDemo.getX();System.out.println("实例变量y="+StaticDemo.getY(); /非法,编译时将出错StaticDemo a= new StaticDemo();StaticDemo b= new StaticDe
16、mo();a.setX(1);a.setY(2);b.setX(3);b.setY(4);System.out.println("静态变量a.x="+a.getX();System.out.println("实例变量a.y="+a.getY();System.out.println("静态变量b.x="+b.getX();System.out.println("实例变量b.y="+b.getY();(3) 对上面的源程序进行编译,观察出错提示。(4) 修改源程序中的出错语句,删除或使用解释符/隐藏起来,例如,/Sy
17、stem.out.println("实例变量y="+StaticDemo.getY();(5) 重新编译并运行该程序,观察运行结果。3. 调用方法时参数传递的练习在Java 中,方法调用时的参数传递只有值传递一种,即进行实参到形参的简单值拷贝。当基本类型数据作为参数时,把实参值拷贝给形参,方法内部对参数的修改不会影响实参;当引用类型(类、接口、数组)数据作参数时,因为引用就是隐含的指针,所以进行值拷贝时,其实是在传递引用(隐含指针) ,方法内部对参数的修改会影响到实参。3.1、编写一个传递基本类型数据进行方法调用的程序(1) 程序功能:程序首先给整型变量x 和y 赋一个初值
18、10,然后调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。(2) 程序源代码如下。class PassParam public static void main(String args) int x=10, y=10;ff1(x, y);System.out.println("x="+x+", y="+y);static void ff1(int passX, int passY) passX=passX*passX;passY=passY*passY;System.out.println("passX=
19、"+passX+", passY="+passY);(3) 编译并运行,观察运行结果,体会基本数据类型的值传递。3.2、编写一个传递对象进行方法调用的程序(1) 程序功能:定义一个有x、y两个成员的类Power,主类TestParam中创建Power的对象给x、y赋初值10,方法ff2以Power类对象为参数,内部对参数对象的x、y的值进行乘方,输出调用ff2前后的成员x、y的值。(2) 程序源代码如下。class Powerint x=10, y=10;void printXY() System.out.println("x="+x+&quo
20、t;, y="+y); Power(int nx,int ny) x=nx; y=ny;Public class TestParam public static void main(String args) Power p=new Power(10,10); p.printXY();ff2(p);System.out.println("方法调用后 x="+p.x+", y="+p.y); Static void ff2(Power ob) ob.x=ob.x*ob.x; ob.y=ob.y*ob.y; p.printXY();(3) 编译并运行
21、,观察运行结果,体会引用类型的值传递。4. 类的继承性练习Java继承机制允许在已有类(父类)的基础上构造新类,新类(子类)自动继承父类的所有属性和方法,同时可以对子类进行扩充,继承机制很好地支持了软件重用,有效地提高了程序设计的效率。4.1 继承性练习(1)程序功能:编写创建学生类的程序,体现继承性。(2) 程序源代码如下。public class Student /学生类,作为父类,描述学生基本信息protected String xm; /姓名,保护成员protected int xh; /学好,保护成员void setdata(String m,int h) /设置数据的方法xm =m
22、;xh = h;public void print() /输出数据的方法System.out.println(xm+", "+xh);class Undergraduate extends Student /大学生类,扩充了学院、系的信息protected String xy; /学院protected String xi; /系public static void main(String args)Student s = new Student();s.setdata("李四",12321) ;s.print();Undergraduate us =
23、new Undergraduate () ;us.setdata("张三",12345); /调用父类的成员方法us.xy="安徽新华学院" /访问本类的成员变量us.xi="信息工程学院计算机系" /访问本类的成员变量us.print(); /调用父类的成员方法System.out.print(us.xm+", "+us.xy+", "+us.xi);(3)编译并运行,观察运行结果,体会继承性。4.2 this和super的使用(1) 程序功能:程序功能:说明this和super的用法。程序首
24、先定义Point(点)类,然后创建点的子类Line(线)。最后通过Test 类输出线段的长度。程序中通过super(a,b)调用父类Point 的构造方法为父类的x 和y 赋值。在子类Line 的setLine方法中,因为参数名和成员变量名相同,为给成员变量赋值,使用this 引用,告诉编译器是为当前类的成员变量赋值。在length 和toString 方法中使用父类成员变量时,使用super 引用,告诉编译器使用的是父类的成员变量。(2) 程序源代码如下:class Point protected int x, y;Point(int a, int b) setPoint(a, b);pub
25、lic void setPoint(int a, int b) x=a;y=b;class Line extends Point protected int x, y;Line(int a, int b) super(a, b);setLine(a, b);public void setLine(int x, int y) this.x=x+x;this.y=y+y;public double length() int x1=super.x, y1=super.y, x2=this.x, y2=this.y;return Math.sqrt(x2-x1) * (x2-x1) + (y2-y1)
26、 * (y2-y1);public String toString() return "直线端点:" + super.x + "," + super.y + " " + x + "," + y + " 直线长度:" + this.length();public class Testpublic static void main(String args) Line line=new Line(50, 50);System.out.println("n"+line.toStrin
27、g();(3) 编译并运行, 观察运行结果。5. 类的多态性练习多态简言之就是“一个接口多种实现”,或者说“不同的对象接收到相同的消息执行不同的操作”,Java语言的多态分两种:编译时多态(静态多态)和运行时多态(动态多态),编译时多态通过方法的重载(包括构造方法)来实现,运行时多态通过方法的覆盖来实现。5.1 方法的重载(静态多态性)(1) 程序功能:使用同名方法求两个整数、浮点数、字符的较大值。(2) 程序源代码如下,补充空缺代码,并编译运行。class GSelect public static int greaterOf(int a, int b) /补充方法体,返回两个整数中的较大值
28、public static double greaterOf(double a, double b) /补充方法体,返回两个浮点数中的较大值public static char greaterOf(char a, char b) /补充方法体,返回两个字符中的较大值 public class TestGreater public static void main(String args)int a1=30, b1=12; double a2=23.3, b2=23.4; char a3=G. b3=s; System.out.println(a1+” “+b1+"中较大的是:&quo
29、t;+GSelect.greaterOf(a1,b1); System.out.println(a2+” “+b2+"中较大的是:"+GSelect.greaterOf(a2,b2); System.out.println(a3+” “+b3+"中较大的是:"+GSelect.greaterOf(a3,b3); 5.2 方法的覆盖(动态多态性)(1) 程序功能:定地Shape类作为图形类的基类,其中包含计算面积的方法,在Shape类的基础上派生出两个子类Rectangle和Circle,子类中覆盖父类计算面积的方法,在主类中计算矩形和圆形的面积,体现出多
30、态性。(2) 程序源代码如下:class Shape /基类的定义protected double area;double getArea() area=0; return area;class Rectangle extends Shape /矩形类的定义 protected double width,height;Rectangle(double w, double h) width=w; height=h; double getArea() /覆盖父类的方法 area=width*length; return area; class Circle extends Shape /圆形类的定
31、义 protected double radius;Circle(double r) Radius=r; double getArea() /覆盖父类的方法 area=Math.PI*radius*radius; return area; public class TestShape /主类,计算面积 public static void main(String args) Rectangle r=new Rectangle(3.5,4); printArea(r); printArea(new Circle(4);static void printArea(Shape s) System.o
32、ut.println(“area of ”+s+”=”+s.getArea();(3) 编译并运行,观察并分析运行结果,体会运行时多态的用法。5.3 多态性程序设计程序功能:编写程序实现员工月工资计算功能,定义一个Employee类多为基类,在其基础上派生出三个子类SalesMan(销售人员)、Manager(经理)、HourWorker(钟点工),销售人员工资计算方法为 基本工资+销售提成,经理的月工资为固定金额,钟点工工资为 工作小时数*每小时金额。在主类中分别计算三类员工的工资,要求体现出多态性。6. 接口与包功能要求:对5.3的程序进行修改,要求把基类改为接口,即用接口来实现多态性;把
33、除主类以外的其它类和接口的定义放在自定义的包中(如 mypach.pay),主类中导入自定义的包,完成工资计算。五、实验步骤 1 对每个练习题目,按如下步骤进行:编辑源程序、保存源程序、编译源程序生成字节码文件、运行程序、记录并分析输出结果。六、数据记录及处理1 练习15.2的输出结果2 练习5.3、6的源程序及运行结果七、实验注意事项 1 成员方法覆盖时注意访问权限设置2 一个源文件中只能有一个public的类或接口3 不同包内的类及成员的访问权限设置八、思考题1 Java中如何实现封装,使用接口有什么好处?第四章 数组、字符串、基础类和工具类实验三 数组、字符串与基础类一、实验目的 1编写
34、程序练习Java中数组和字符串的创建与使用; 2掌握封装类、集合、日期和时间等类功能及其使用方法。二、实验仪器 1计算机一台三、实验原理 1 Java中数组属于引用数据类型,是一种特殊的对象,其创建和使用与C+有明显不同之处,使用起来更加灵活方便;2 Java中字符串不等于字符数组,是通过专门的String类来表示和处理的;3 Java中为每种基本数据类型提供了相应的封装类,为数据类型之间的转换提供了方便,另外提供了常用的工具类用语数据、时间等的处理。四、实验内容分别按要求实现下列程序。1. 编写程序,创建一个n行的三角形二维int型数组,输出数组的元素。如: 1 2 3 4 5 6 7 8
35、9 0 2. 编写程序,用Math类的random()方法随即生成10个互不相同的字符,对字符进行从小到大的排序,分别输出排序前和排序后的字符序列。3. 编写程序,用一个成员方法实现对字符串数组的排序,字符串数组作为方法参数进行传递。4. 编写程序求二次方程 Ax2+Bx+C=0 的根,要求参数A、B、C由命令行输入。5. 编写显示当前时间和日期的程序(1) 程序功能:该程序通过使用一个自定义类Time,实现显示当前日期和时间的功能。(2) 程序代码如下。 import java.util.Calendar;class Time private Calendar t; private int
36、y, m, d, hh, mm, ss; Time () t=Calendar.getInstance(); y=t.get(t.YEAR); m=t.get(t.MONTH)+1; d=t.get(t.DATE); hh=t.get(t.HOUR_OF_DAY); mm=t.get(t.MINUTE); ss=t.get(t.SECOND); public String getDate() return y+" 年"+m+"月"+d+"日" public String getTime() return hh+" 时&quo
37、t;+mm+"分"+ss+"秒" public class ShowDate public static void main(String args) Time t=new Time(); System.out.println("当前日期:"+t.getDate(); System.out.println("当前时间:"+t.getTime(); 五、实验步骤 1 对每个练习题目,按如下步骤进行:编辑源程序、保存源程序、编译源程序生成字节码文件、运行程序、记录并分析输出结果。六、数据记录及处理1源程序、输入数据及运
38、行结果七、实验注意事项 1 正确导入所要使用的软件包八、思考题1 Java中的数组有哪些特点和优点?第五章 Java中的异常处理实验四 异常处理一、实验目的 1掌握对异常的捕获和处理方式,体验系统异常处理的机制; 2练习使用自定义异常;编写程序,创建自定义的异常类型。二、实验仪器 1计算机一台三、实验原理 1 Java异常处理机制能对程序中出现的非正常情况做出判断,进行适当的处理,把可能出现问题异常的代码和异常处理分割开来,很好地保障了程序的健壮性和程序结构的清晰;2 通过定以自己的异常类,可以对异常进行很好的跟踪,有利于发现问题所在。四、实验内容1. 使用trycatch语句处理异常1.1
39、异常类型匹配的处理方式(1) 程序功能:在程序中主动产生一个ArithmeticException 类型被0 除的异常, 并用catch 语句捕获这个异常。最后通过ArithmeticException 类的对象e 的方法getMessage 给出异常的具体类型并显示出来。(2) 程序源代码如下。public class EXP5_1public static void main(String arg3) System.out.println("这是一个异常处理的例子n");try int i=10;i /=0;catch (ArithmeticException e) S
40、ystem.out.println("异常是:"+e.getMessage();finally System.out.println("finally 语句被执行");(3) 编译并运行,观察运行结果,分析异常被捕捉到的处理流程。1.2 异常类型不匹配的处理方式(1) 程序源代码如下:public class EXP5_2public static void main(String args) System.out.println(“这是一个异常处理的例子n”);try int i=10;i /=0;catch (IndexOutOfBoundsExce
41、ption e) System.out.println("异常是:"+e.getMessage();finally System.out.println("finally 语句被执行");(2) 编译并运行,观察运行结果,分析异常未被捕捉到的处理流程。1.3 包含多个catch子句的异常处理方式(1) 程序功能:在try 子句中设计两个可能出现的异常,当a 为0 时会发生异常。另外一个是肯定的异常,因为数组c 的长度为1,定义c42是非法的。通过两个catch 子句分别来捕获异常。(2) 程序源代码如下。public class EXP5_3public
42、 static void main(String args) try int a=args.length;System.out.println("na = "+a);int b=42/a;int c=1;c42=99;catch (ArithmeticException e) System.out.println("发生了被 0 除:"+e);catch (ArrayIndexOutOfBoundsException e) System.out.println("数组下标越界:"+e);(3) 编译并运行,分析可能出现的异常的情况,观
43、察不同异常情况下的运行结果。2 创建自定义的异常类(1) 程序功能:通过继承Exception 异常类创建一个自定义异常类SqrtException,然后再创建一个主类ExcepDemo,有一个成员方法getSqrt(double a)对参数求平方根,当参数小于0时,抛出自定义异常,在主函数中调用getSqrt方法,对异常进行处理。(2) 程序源代码如下。class SqrtException extends Exception private double d;SqrtException(double a) d=a;public String toString() return "
44、异常SqrtException 运算数<0:"+d;public class ExcepDemostatic double getSqrt(double a) throws MyException /完成方法体;public static void main(String args) /完成main()方法体 编译并运行,观察结果。五、实验步骤 1 对每个练习题目,按如下步骤进行:编辑源程序、保存源程序、编译源程序生成字节码文件、运行程序、记录并分析输出结果。六、数据记录及处理1不同输入下的异常情况及输出结果七、实验注意事项 1 多个catch子句并存时的异常捕捉顺序2 正确异
45、常类的toString()方法八、思考题1 异常处理机制给程序设计带来哪些好处?第七章 图形用户界面(GUI)设计实验五 图形用户界面程序设计一、实验目的 1了解Java GUI的体系结构,掌握常用组建、容器和布局管理器的用法,掌握Java事件处理机制,了解事件处理程序的编写方式。编写程序练习Java GUI事件处理程序设计,掌握常用组件和容器的用法,体会事件处理过程。二、实验仪器 1计算机一台三、实验原理 1 事件、事件源、事件监听器是GUI事件处理模型的三个基本要素,不同类型的监听器监听并处理不同的事件,确定事件类型,编写相应的监听器代码时GUI设计的关键。2 GUI软件包中的组件类以图形
46、化的方式向用户展示程序中的数据,使界面具有直观性,易于操作和使用。四、实验内容1简单GUI程序编写程序实现如下功能:界面如下图,单击欢迎按钮时,在界面中不显示“欢迎进入Java世界”,单击日期按钮时,在界面中部显示当前日期,单击退出则退出结束程序运行。 其源代码如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; public class JButtonDemo extends JPanel implements ActionListener JButton b1,b2
47、,b3; static JLabel l1,l2; JButtonDemo() l1 = new JLabel(" 这是一个演示按钮动作的程序", JLabel.CENTER); l2 = new JLabel(" ", JLabel.CENTER); b1 = new JButton("欢迎w"); b1.setMnemonic(KeyEvent.VK_W); / 设置按钮的快捷键 b1.setActionCommand("welcome"); b1.addActionListener(this); b2 = n
48、ew JButton("日期d"); b2.setMnemonic(KeyEvent.VK_D); / 设置快捷字符为D b2.setActionCommand("date"); b2.addActionListener(this); b3 = new JButton("退出q"); b3.setMnemonic(KeyEvent.VK_Q); / 设置快捷字符为Q b3.setActionCommand("quit"); b3.addActionListener(this); add(b1); add(b2);
49、add(b3); public void actionPerformed(ActionEvent e) Calendar c1 = Calendar.getInstance(); if(e.getActionCommand().equals("welcome") l2.setText("欢迎进入Java世界"); else if(e.getActionCommand().equals("date") l2.setText("今天是"+c1.get(Calendar.YEAR)+ "年"+(c1.
50、get(Calendar.MONTH)+1)+"月" + c1.get(Calendar.DATE) + "日"); else System.exit(0); / 标签文字水平居中 l2.setHorizontalAlignment(JLabel.CENTER); public static void main(String args ) JFrame frame=new JFrame("使用JButton"); frame.getContentPane().add(new JButtonDemo(),BorderLayout.SOUTH); frame.getContentPane().add(l1, BorderLayout.NORTH); frame
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025无锡市房屋转租合同模板
- 专项施工电力供应合同2024年版一
- 2025年度酒店特色餐饮食材配送与质量控制合同3篇
- 2025年度企业税务筹划与税收筹划效果评估合同3篇
- 证券公司办公用房租赁合同终止
- 二零二五年度高端房产抵押贷款担保合同
- 二零二五年度建筑工地水泥黄沙环保运输承包合同2篇
- 2025借贷宝借款合同范文
- 2025技术转让合同订立的注意事项
- 农业生产电动工具租赁协议
- 2024版青岛市劳动合同
- 中小学十五五发展规划(2025-2030)
- Unit 7 同步练习人教版2024七年级英语上册
- 电厂员工三级安全培训(完美版)课件
- 2024年中考复习-数学(广州专用)(解析版)
- 第三十六届全国电力行业风力发电运行检修职业技能竞赛基础理论题库附有答案
- 2024年纪检监察综合业务知识题库含答案(研优卷)
- 科室医疗质量与安全管理小组工作制度
- 中华民族共同体概论课件第五讲大一统与中华民族共同体初步形成(秦汉时期)
- 初二生地会考试卷及答案-文档
- 私营企业廉洁培训课件
评论
0/150
提交评论