java程序设计与案例.ppt

上传人:小飞机 文档编号:5436145 上传时间:2023-07-06 格式:PPT 页数:99 大小:375.50KB
返回 下载 相关 举报
java程序设计与案例.ppt_第1页
第1页 / 共99页
java程序设计与案例.ppt_第2页
第2页 / 共99页
java程序设计与案例.ppt_第3页
第3页 / 共99页
java程序设计与案例.ppt_第4页
第4页 / 共99页
java程序设计与案例.ppt_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《java程序设计与案例.ppt》由会员分享,可在线阅读,更多相关《java程序设计与案例.ppt(99页珍藏版)》请在三一办公上搜索。

1、java程序设计与案例,刘彦军,第1章Java概述,1.1Java语言简介,Java语言:是一种面向对象的编程语言,语法与C语言类似。Java虚拟机:Java语言的运行环境(简称JVM)Java平台:是指Java类库的集合,第1章Java概述,1.2Java开发环境的设置,1、下载Windows版本的J2SE SDK2、安装J2SE SDK3、环境变量的设置a)添加环境变量JAVA_HOME变量值为jdk的实际安装路径b)修改环境变量PATH,添加%JAVA_HOME%bin,第1章Java概述,1.2Java开发环境的设置,c)添加环境变量CLASSPATH变量值为.;%JAVA_HOME%

2、lib;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;,第2章Java语言基础,变量变量的命名规则:以字母开头和数字的序列。Java中变量名大小写敏感但长度不受限制。数据类型,第2章Java语言基础,运算符1、赋值运算符:=2、二元算数运算符:“+”、“-”、“*”、“/”、“%”3、一元运算符:“+”(正号)、“-”(负号)、“+”、“-”4、关系运算符:“”、“=”、“”、“=”、“=”、“!=”5、逻辑运算符6、位运算符流程控制1、if-else条件分支控制2、switch条件分支控制,第2章Java语言基础,3、while循环4、do-whi

3、le循环5、for循环流程控制中的跳转:continue、break和 return读取输入1、Scanner in=new Scanner(System.in)2、读取一行:String s=in.nextLine()3、读取单个单词:String s=in.next()4、读取整数:int sum=in.nextInt()5、读取浮点数:double sum=in.nextDouble(),数组1、一维数组:type arrayName=new typearraySize type arrayName=new typearraySize arrayName.length指明数组的长度2、多

4、维数组,第2章Java语言基础,第3章类与对象,面向对象一、传统开发方法存在问题1、软件重用性差2、软件可维护性差3、开发出的软件不能满足用户需要二、面向对象的基本概念1、对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。2、对象的状态和行为,第3章类与对象,3、类:具有相同或相似性质的对象的抽象就是类。类具有属性,它是对象的状态的抽象用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象用操作名和实现该操作的方法来描述。4、消息和方法:对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个

5、对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。5、封装6、继承7、接口,第3章类与对象,第3章类与对象,三、面向对象的特征1、对象唯一性2、分类性:分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。3、继承性4、多态性:多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。,第3章类与对象,一、类的定义1、语法格式:访问控制符 class classname 访问控制符数据

6、类型 域名;.访问控制符 返回类型 方法名(参数列表).说明:1、域定义了类的静态属性又称为成员变量2、方法定义了类的动态属性又称为成员函数3、返回类型必须指定(构造函数除外),如无返回值用 void,第3章类与对象,2、构造方法与对象的创建 构造方法用来完成通过类创建对象所需的初始化工作。对象的创建:类名 对象名=new 构造方法名(参数列表)3、对象的使用 对象在创建后,可以通过变量名访问这个类的实例。通过.运算符来访问变量所知对象的域和方法。,第3章类与对象,例:class student private String name;private int stuID;private dou

7、ble score;public student(String aName,int aStuID,double aScore)name=aName;stuID=aStuId;score=aScore;protected void setScore(double c)score=c;,二、说明1、对象的创建,第3章类与对象,2、默认构造函数所谓默认构造函数是指没有参数的构造函数。如果编写类时没有提供构造函数,系统会提供默认构造函数。若类至少提供了一个构造函数,但没有提供默认构造函数则在创建对象时若不提供构造参数被认为不合法。3、构造函数的重载所谓重载是指如果多个方法具有相同的方法名、不同的参数便

8、产生了重载。4、隐式参数和显示参数,第3章类与对象,protected void setScore(double c)score=c;student aa=new student(“liwei”,200510139,85);aa.setScore(75);事实上这个调用执行了以下指令:aa.score=75;在每个方法中关键字this用来表示隐式参数5、调用另一个构造函数student(String name,int id);student(int id)this(“aa”,id);,第3章类与对象,第3章类与对象,6、构造函数构造函数与类同名。构造函数没有返回类型。一个类可以有一个以上的构造

9、函数。构造函数可以有0个、1个或1个以上的参数。构造函数总是伴随new操作符使用。构造函数可以互相调用。三、包(package)1、类的导入 date=new()import 包名 例:import java.until.*;,Date date=new date();import java.util.*;import;Date date=new Date();此时Date类为java.sql包中的Date类 date=new();todate=new();2、将类放入包中 package 包名 此语句应放置在源文件的开头类定义的代码之前,如果源 文件中没有定义包名,则程序被放置到一个默认的没

10、有包 名的包中。,第3章类与对象,四、java修饰符1、类的修饰符public 公共类修饰符 protectedprivateabstract 抽象类修饰符final 最终类修饰符默认访问控制 可以被同一个包中的类访问,第3章类与对象,2、成员变量的修饰符公共访问控制符:public 私有访问控制符:private 保护访问控制符:protected私有保护访问控制符:private protected 静态域修饰符:static 最终域修饰符:final,第3章类与对象,3、成员函数的修饰符公共访问控制符:public 私有访问控制符:private 保护访问控制符:protected 私有

11、保护访问控制符:private protected抽象方法控制符:abstract 静态方法控制符:static,第3章类与对象,最终方法控制符:final 本地方法控制符:native 同步方法控制符:synchronized五、静态域与静态方法1、静态域 如果将域定义为静态的,则每一个类中只有一个这样的域2、静态方法,第3章类与对象,第3章类与对象,六、继承1、概念与语法 继承是一种由已有的类创建新类的机制,是存在于面向对象程序中的两个类之间的一种关系,目标是为一个已有的类的属性或操作进行扩展或修正。a)被继承的类一般称为父类b)继承得到的类称为子类或者派生类c)子类除了可以直接继承父类非

12、私有的属性和方法外,还可以重载父类中定义的操作,以及添加新的属性和方法。,第3章类与对象,d)语法格式:子类名 extends 父类名.2、隐藏和覆盖a)域的隐藏:子类中定义了与从父类那里继承的成员变量完全相同的变量b)访问被隐藏的父类的变量(1)调用父类的方法(2)使用super.变量名c)方法的覆盖:子类中定义了与父类具有完全相同的方法名、完全相同的参数列表、完全相同类型的返回值。3、构造方法的继承,第3章类与对象,七、非访问控制符 非访问控制符用于说明成员性质的控制符:static、final和Abstract1、finalfinal用来修饰一个不可再次更改的定义如:a)如果修饰类的定义

13、,则这个类不能被继承。b)如果修饰成员函数,则这个方法不能在子类中被隐藏。c)如果修饰成员变量,则这个变量只能也必须被赋值一次。,第3章类与对象,2、abstractabstract可以用来修饰类或方法且:a)如果修饰类则这个类被称为抽象类,类中定义的方法可以没有方法体而只有方法的申明。b)如果修饰方法,则这个方法在非抽象的子类中必须有具体的实现。,八、抽象类 抽象类是没有具体对象的概念类,由abstract修饰符来修饰。抽象类的定义:访问控制符 abstract class 类名 extends 父类名成员变量.成员函数.,第3章类与对象,说明:1、成员函数可以是抽象方法或普通成员函数2、抽

14、象类的子类如不是抽象类,则它必须为父类中的所有抽象方法书写方法体3、抽象类不能用来创建对象,抽象类必须派生出子类。4、抽象类中不一定有抽象方法,但包含抽象方法的类一定为抽象类。5、抽象类中构造方法、static方法与private方法前不能使用abstract修饰。,第3章类与对象,九、接口1、定义:接口用来定义一组抽象操作的集合,通常是一些抽象方法和域的定义。2、特点:a)接口不包含方法的任何实现,接口中的方法都是抽象方法。b)接口定义的方法和域都是具备public访问权限的,不容许使用protected和private进行修饰。,第3章类与对象,第3章类与对象,c)接口不容许定义一般的成员

15、变量。d)接口不能直接用来创建对象。3、语法格式:public interface 接口名 extends 父接口列表public static final 域类型 域名=常量值;public abstract 返回值类型 方法名(参数列表);,第3章类与对象,4、说明a)用implements关键字在类的声明部分声明该类将实现的接口b)一个类可以同时实现多个接口。c)一个类实现接口时类中应实现接口的所有方法。d)对接口中方法的实现必须显示的使用public修饰符。e)对接口方法的实现,类中对应的方法的方法名、返回值和方法的参数列表形式必须一致,否则视为方法的重载。,十、多态 is-a关系的另

16、一种表述法是置换法则,它表明程序中出现超类对象的任何地方都可以用子类对象置换。在Java程序设计语言中对象变量是多态的。如:父类为A子类为B有如下定义A temp=new A();A temp1=new B()1、动态绑定2、静态绑定,第3章类与对象,十一、内部类与匿名类 内部类是指定义在另一个类中的类。使用原因如下:a)内部类方法可以访问该类定义所在的作用域的所有数据内部类可以对同一包中的其他类隐藏1、内部类的定义2、局部内部类的定义3、匿名类的定义,第3章类与对象,第6章基础类库和工具类库,十二、Object1、getClass():获取当前类的信息,返回值是类的对象2、hashCode(

17、):返回对象的哈希码3、equal():用来比较两个对象是否相等4、clone():返回当前对象的一个拷贝5、toString():将当前对象的信息用字符串进行描述6、finalize():定义回收当前对象时所需完成的工作,第3章类与对象,十三、访问控制符,第5章异常处理,一、异常处理机制1、异常分类,Throwable,Error,Exception,Exception,Exception,IOException,RuntimeException,1、异常的捕获:try语句;catch(异常类名1 抛出的异常对象名)异常处理代码catch(异常类名2 抛出的异常对象名)异常处理代码final

18、lyfinally 语句;,第5章异常处理,第5章异常处理,2、finallyfinally是整个异常处理的统一的出口。即使在try语句或catch语句中有return等控制流程的语句,finally语句仍然会被执行。3、异常抛出throw 异常的实例4、自定义异常类,第6章基础类库和工具类库,一、基础类库1、Java.lang2、java.io3、java.util4、java.awtjava.swing5、java.applet6、7、8、java.sql,第6章基础类库和工具类库,二、基本数据类型的封装,第6章基础类库和工具类库,三、Math 类用来完成一些常用的数学计算,类中的方法均为

19、静态方法,使用时不需要创建实例直接调用即可。1、主要属性:public final static double E:数学常量ePublic finally static double PI:圆周率常量2、主要方法:public static in abs(int i):绝对值public static double sin(double a):正弦public static double random():产生0-1之间的伪随机数public static double max(double a,double b):最大值,第6章基础类库和工具类库,五、字符串相关类1、String构造方法:S

20、tring()、String(String a)、String(char chars)主要成员方法:int length():返回字符串长度char charAt(int index):返回指定位置的字符int compareTo(String s2):按字母顺序进行字符串比较boolean equals(object obj):判断字符串是否相同(区分大小写)string substring(int beginIndex):取字串int indexOf(String str):返回str在当前串中开始位置,第6章基础类库和工具类库,2、StringBuffer1、构造方法:StringBuf

21、fer():创建一个空的StringBuffer对象StringBuffer(int length):设置初始容量StringBuffer(String s):利用已有字符串创建StringBuffer对象2、主要方法:append(char c):在字符串的最后追加一个字符insert(int index,String subString):在字符串index处插入字串void setCharAt(int index,char c):替换指定位置的字符String toString():将可变串变为不可变串,第6章基础类库和工具类库,3、StringTokenizer 提供了对字符串的解析和

22、分割的功能六、集合API集合中最基本的接口为Collection,该接口中定义了聚集形式数据的基本操作方法主要有:public boolean add(Object obj):加入一个元素pubic boolean addAll(Collection):将另外一个集合的元素全部加入public void clear():清除所有的元素public boolean contans(Object obj):判断是否包还objpublic boolean remove(Object obj):删除元素objpublic Iterator iterator():得到迭代器,第6章基础类库和工具类库,p

23、ublic int size():集合中元素的总数public isEmpty():判断集合是否为空public Object toArray():转化成对象数组Collection 接口有两个直接扩展接口:List:记录元素保存顺序,允许有重复元素存在实现List接口的类主要有:ArrayList和VectorSet:不记录元素保存顺序,不允许元素重复存在.实现Set接口的类主要有:AbstractSet、HashSet、LinkedHashSet和SorteSetIterator:主要用来遍历集合中的元素,主要方法有:public boolean hasNext():判断是否还有下一个元素

24、public Object next():得到下一个元素public void remove():从集合中删除当前元素ListIterator为Iterator的子接口,它是针对List提供双向检索和元素存取功能,第6章基础类库和工具类库,七、日期和时间 类提供了操作时间的基本功能1、构造函数:Date():构造一个记录当前系统时间的Date实例Date(long date):构造一个指定时间的Date实例2、主要方法:Boolean after(Date):比较所包含的日期是否迟于参数指定日期Boolean befor(Date):比较所包含的日期是否先于参数指定日期Long getTime

25、():返回时间间隔(1970年1月1日0时起)Void setTime():设置新的时间,第9章图形用户界面,一、概述1、图形用户界面(Graphics User Interface)简称GUI2、抽象窗口工具包AWT(Abstract Windows Toolkit)3、Java基础类(Java Foundation Classes JFC)Swing组件二、创建框架顶层窗口被称为框架(frame),在AWT中类Frame用于描述顶层窗口在Swing中为类JFrame扩展于Frame类。1、主要方法Void setResizable(boolean b)决定用户是否可重置框架的大小Void

26、setTitle(String a)设置框架标题栏中的文字设置为字符串aVoid setVisible(boolean b)设置框架是否可见,第9章图形用户界面,d)Void setEnabled(boolean b)激活或禁用组件f)Void setLoacation(int x,int y)设置框架的显示位置x,y为坐标2、Toolkit类static Toolkit getDefaultToolkit()返回默认的工具箱Dimension getScreenSize()返回用户屏幕的尺寸三、标签(JLabel)标签的功能是显示单行的字符串1、标签的创建JLabel lab=new JLa

27、bel()创建一个标题为空字符串的标签JLabel lab=new JLabel(String s);创建标题为字符串s的标签JLabel lab=new JLabel(String s,int alignment)创建显示字符串为s同时label的对齐方式label的对齐方式有三种:LEFT CENTER 和RIGHT,第9章图形用户界面,2、标签的使用及主要方法this.add(lab)将标签添加到父容器中 public void setText(String s)设置显示的字符串public String getText()返回当前显示的字符串四、文本域(JTextField)1、构造方

28、法JTextField():构造一个空的文本域JTextField(String s):构造一个用指定文本初始化的新 TextField JTextField(String s,int column):构造一个用指定文本和列初始化的新 TextField 2、主要方法setText(String s):设置文本域显示的字符getText():返回文本域中的字符串,第9章图形用户界面,3、文本域变化跟踪当文本域的内容发生变化时可以要求文档给出通告,这要求添加文档监听器(DocumentListener)当文本域的内容发生变化时DocumentListener当中的两个方法之一会被调用:Void

29、insertUpdate(DocumentEvent e)Void removeUpdate(DocumentEvent e)五、密码域(JPasswordField)1、构造方法:JPasswordField(String s,int column)2、主要方法:a)void setEchoChar(char echo)为密码域设置回显字符。0表示重置为默认的回显字符。char getPassword()获取密码域的内容,第9章图形用户界面,七、按钮(JButton)JButton是AbstractButton的子类1、构造方法JButton():创建一个不带有设置文本或图标的按钮JButt

30、on(String s):创建一个带文本的按钮JButton(Icon icon):创建一个带图标的按钮JButton(String s,Icon icon)2、主要方法String getText():获取按钮的标签Void setText(String s):设置按钮的标签Void addActionListener(ActionListener e):注册事件监听器Void removeActionListener(ActionListenre e):注销事件监听器,第9章图形用户界面,Void setDisableIcon(Icon di):设置当按钮禁用是显示的图标Void setP

31、ressedIcon(Icon pi):设置当按钮按下时显示的图标Void setSelectedIcon(Icon si):设置当按钮被选则时显示的图标Void setRolloverIcon(Icon ri):设置鼠标移动到按钮上时显示的图标2、事件监听器需实现事件接口ActionListenerpublic void actionPerformed(ActionEvent e)事件监听器的添加(两种方法),第9章图形用户界面,例1:JButton jb=new JButton(“确定”);jb.addActionListener(new ActionListener(ActionEven

32、t e)public void actionPerformed(ActionEvent e)/要执行的操作.);,第9章图形用户界面,例2:JButton jb=new JButton(“确定”);buttonListener bl=new buttonListener()jb.addActionListener(bl);class buttonListener implements ActionListener/域的定义/方法的定义public void actionPerformed(ActionEvent e)/事件发生时所进行的操作.,第9章图形用户界面,六、布局管理器1、FlowLa

33、youta)FlowLayout是Panel、Applet默认的布局管理器。组件的排列从容器的左上角开始从左向右、从上到下依次排列。组件之间默认的间距为5个像素点。(2)构造方法FlowLayout()FlowLayout(int how):参数how用来设置组件的对齐方式FlowLayout(int how,int horz,int vert):参数how:设置组件的对齐方式参数horz:设置组件间的水平间距参数 vert:设置组件间的垂直间距,第9章图形用户界面,参数how的值如下:FlowLayout.LEFT:左对齐,水平和垂直间距为5个像素点FlowLayout.CENTER:居中对

34、齐,水平和垂直间距为5个像素点FlowLayout.RIGHT:右对齐,水平和垂直间距为5个像素点设置容器布局管理器的方法:setLayout(LayoutManager m)2、BorderLayoutBorderLayout是Window、Frame、Dialog默认的布局管理器将容器划分为东、南、西、北、中5个区域构造方法:BorderLayout():生成默认布局管理器组件间横纵间距为0BorderLayout(int horz,int vert),第9章图形用户界面,添加组件的方法:add(Component obj,Object region)obj:要添加的组件region:组件

35、添加的位置,分别对应BorderLayout的5个常量BorderLayout.CENTER:中心区 BorderLayout.SOUTH:南BorderLayout.EAST:东BorderLayout.WEST:西BorderLayout.NORTH:北3、GridLayoutGridLayout在一个二维网格中布置组件构造方法:,第9章图形用户界面,GridLayout(int row,int column):生成指定行列的布局管理器GridLayout(int row,int column,int horz,int vert)3、CardLayout(卡片布局)构造方法:CardLay

36、out()主要方法:Void first(Container deck):显示第一张卡片Void last(Container deck):显示最后一张卡片Void next(Container deck):显示下一张卡片Void previous(Container deck):显示前一张卡片Void show(Container deck,String cardName):显示指定名称的卡片,第9章图形用户界面,六、文本区(JTextArea)1、构造函数:JTextArea(int rows,int column)构造一个新的文本区参数:rows:行数 column:列数JTextAre

37、a(String text,int rows,int column)使用初始文本构造一个新文本区参数:text:初始文本rows:行数column:列数2、主要方法Void append(String s):将给定的文本s添加到文本区原有文本的末尾Void setLineWrap(boolean wrap):打开或关闭换行void setWrapStyleWord(booleanword):设置换行方式参数:word如果设置为 true则当行的长度大于所分配的宽度时将在单词边界(空白)处换行。如果设置为 false,则将在字符边界处换行,第9章图形用户界面,八、复选框(JCheckBox)1、

38、构造方法:JCheckBox(String s):用给定的标签初始化一复选框初始状态为未选JCheckBox(String s,boolean state):用给定的标签和初始状态创建一复选框2、主要方法Boolean isSelected():返回复选框状态如:JCheckBox jcb=new JCheckBox(“aa”,true);jcb.isSelected()Void setSelected(boolean state):设置复选框的状态如:JCheckBox jcb=new JCheckBox(“aa”);jcb.setSelected(false);jcb.isSelected

39、(),第9章图形用户界面,3、事件监听器需实现事件接口ActionListenerpublic void actionPerformed(ActionEvent e)九、单选按钮(JRadioButton)1、构造方法JRadioButton(String lable,boolean state)用给定的标签和初始状态构造一个单选按钮如:JRadioButton jrb=new JRadioButton(“aaa”,true);2、单选按钮组(ButtonGroup)ButtonGroup bg=new ButtonGroup();JRadioButton jrb=new JRadioButt

40、on(“aaa”,true);bg.add(jrb);,第9章图形用户界面,JRadioButton jrb1=new JRadioButton(“bbb”,false);bg.add(jrb1);3、事件监听器需实现事件接口ActionListenerpublic void actionPerformed(ActionEvent e)十、滑块(JSlider)构造方法:public JSlider(int orientation,int min,int max,int value)用指定的方向和指定的最小值、最大值以及初始值创建一个滑块。方向可以是 SwingConstants.VERTIC

41、AL 或 SwingConstants.HORIZONTAL。主要方法:,第9章图形用户界面,a)setPaintTicks(boolean b):如果b为true显示标尺setMajorTickSpacing(int n):设置大标尺setMinorTickSpacing(int n):设置小标尺setPaintLabels(boolean b):如果b为true显示标尺标签setLabelTable(Dictionary labels):设置标尺标签的组件setSnapToTicks(boolean b):如果b为true,每次调整时对齐到最近的标尺处十一、菜单1、菜单的创建创建菜单栏JM

42、enuBar mb=new JMenuBar();添加菜单栏frame.setJMenuBar(mb);,第9章图形用户界面,添加顶层菜单项JMenu menu=new JMenu(“menuName”);mb.add(menu);添加子菜单项JMenuItem mit=new JMenuItem(“menuItemName”);menu.add(mit);添加分隔行menu.addSeparator()为每个子菜单添加动作监听器mit.addActionListener(ActionListener l)2、复选框菜单项与单选按钮菜单项创建复选框菜单项JCheckBoxMenuItem cb

43、m=new JCheckBoxMenuItem(“ItemName”),第9章图形用户界面,复选框菜单项的添加menu.add(cbm)单选按钮菜单项的创建ButtonGroup bg=new ButtonGroutp();JRadioButtonMenuItem rbm=new JRadioButtonMenuItem(“name”)JRadioButtonMenuItem rbm1=new JRadioButtonMenuItem(“name”)bg.add(rbm);bg.add(rbm1);单选按钮菜单项的添加menu.add(rbm);menu.add(rbm1);3、弹出菜单,第9

44、章图形用户界面,弹出菜单的创建JPopupMenu pm=new JPopupMenu();向弹出菜单中添加子菜单JMenuItem cat=new JMenuItem(“cat”);JMenuItem copy=new JMenuItem(“copy”);pm.add(copy);pm.add(cat);弹出菜单的显示pm.show(panel,x,y)其中panel为显示弹出菜单的父容器,x,y分别为显示的坐标弹出菜单中的个子菜单也可添加动作监听器如:copy.addActionListener(ActionListener l);,第9章图形用户界面,4、菜单项的禁用与启用setEnab

45、led(boolean a)当参数为true时启用,当为false时禁用十二、工具栏1、工具栏的创建public JToolBar(String name,int orientation)参数:name-工具栏的名称orientation-初始方向,它不是 HORIZONTAL 就是 VERTICAL 2、工具栏添加组件toolBar.add(c)3、设置工具提示setToolTipText(String tipText)设置显示工具提示时要显示的文本,第9章图形用户界面,十一、文件对话框(JFileChooser)1、建立文件对话框并获得用户选择的步骤创建一个JFileChooser对象如:

46、JFileChooser ch=new JFileChooser()调用setCurrentDirectory设置默认目录如:ch.setCurrentDirectory(new File(.);如果有一个希望用户选择的默认文件类型名,则调用setSelectedFile方法设置如:ch.setSelectedFile(new File(“.xls”)如果允许用户选择多个文件则调用setMultiSelectionEnabled方法设置如:ch.setMultiSelectionEnabled(true),第9章图形用户界面,如果需要对话框中只显示某一种类型文件则需设置文件过滤器setFile

47、SelectionMode(int mode)参数值为:JFileChooser.FILES_ONLY(默认值)JFileChooser.DIRECTORIECS_ONLYJFileChooser.FILES_AND_DIRECTORIECS调用showOpenDialog或showSaveDialog显示对话框,需为其提供父组件如:int result=ch.showOpenDialog(parent)int result=ch.showSaveDialog(parent),第9章图形用户界面,返回值为:JFileChooser.APPROVE_OPTIONJFileChooser.CANC

48、EL_OPTIONJFileChooser.ERROR_OPTIONgetSelectedFile或getSelectedFiles 获取用户选择的一个或多个文件,如需文件对象名时调用getPath()如:String filename=ch.getSelectedFile().getPath()2、文件过滤器(Filefilter)实现Filefilter类中的两个主要方法public boolean accept(File f)public String getDescription()第一个方法测试是否应该接受某个文件,第二个方法返回显示在文件选择器对话框中文件类型的信息例如如果只选择x

49、ls文件可用如下代码:,第9章图形用户界面,class ExcellFileFilter extends FileFilterpublic boolean accept(File f)return f.getName().toLowerCase().endsWith(.xls)|f.isDirectory();public String getDescription()return xls file;,第9章图形用户界面,十二、选项卡面板(JTabbedPane)1、选项卡面板的创建过程a)构建一JTabbedPane对象JTabbedPane tp=new JTabbedPane();向JT

50、abbedPane中添加选项卡tp.addTab(title,icon,component)public void addTab(String title,Icon icon,Component component)添加一个由 title 和/或 icon 表示的 component,其任意一个都可以为 null。参数:title-此选项卡中要显示的标题icon-此选项卡中要显示的图标component-单击此选项卡时要显示的组件,第9章图形用户界面,c)使用setSelectedIndex 设置新选项卡显示tp.setSelectedIndex(tp.getTabCount()-1);移除选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号