04747java知识点总结_第1页
04747java知识点总结_第2页
04747java知识点总结_第3页
04747java知识点总结_第4页
04747java知识点总结_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章:输入和输由流第一节:数据流的根本概念1 .在java中,把不同类型的输入、输出源抽象为流,其中输入或输出的数据成为数据流,用统一的接口表示.2 .数据流是指一组有顺序的、有起点和终点的字节集合.程序从键盘接收数据或向文件中写数据,都可以使用数据流来完成.3 .流分为输入数据流和输出数据流.输入数据流只能读不能写;而输出数据流只能写不能读.从数据流中读取数据是,必须有一个数据源与该数据流相连(FileinputStreamin=newFileInputStream("javatest.txt(实修牝)4 .Java.io包中提供了表示数据流的4个根本抽象类(不可以实例化),分别

2、是Inputstream、Outputstream、Reader和Writer.因此涉及数据流操作的程序中,几乎都要使用引入语句:importjava.io.*5 .为了使对象的状态能够方便地永久保存下来,java.io包中又提供了以字节流为根底的用于对象的永久化保存状态的机制,通过实现Objectinput和ObjectOutput接口来完成.6 .输入数据流提供的主要操作方法有:(得到-1,标志数据流结束)intread():从输入流读取一个字节的二进制数据intread(byteb):将多个字节读到数组中,填满整个数组intread(byteb,intoff,intlen):从输入流中读

3、取长度为len的数据,从数组b中下标为off的位置开始放置读入的数据,读毕返回读取的字节数.7 .voidclose():关闭数据流intavailable():返回目前可以从数据流中读取的字节数longskip(longl):跳过数据流中指定数量的字节不读取,返回值表示实际跳过的字节数8 .如需要反向读取数据流,那么使用回推操作(PushBack)BooleanmarkSupported():用于测试数据流是否支持回推操作voidmark(int):用于标记数据流的当前位置,并划出一个缓冲区,其大小至少为指定参数的大小.voidreset():将输入流重新定位到对此流最后调用mark方法时的

4、位置9 .输出数据流提供的主要操作方法有:voidwrite(inti):将字节i写入到数据流voidwrite(byteb):将数组b中的全部b.length个字节写入数据流voidwrite(byteb,intoff,intlen):将数组b中从下标off开始的len个字节写入数据流voidclose():当结束对输出流的操作是应该将其关闭voidflush():刷新此输出流并强制写出所有缓冲的输出字节第二节:根本字节数据流类1 .文件数据流包才FFileInputStream和FileOutputStream,这两个类用来进行文件的I/O处理,其数据源或数据终点都应当是文件;不支持方法m

5、ark()和reset().2 .缓冲区数据流有BufferInputStream和BufferOutputStream,它们实在数据流上增加了一个缓冲区,都属于过滤器数据流.3 .读写数据时,数据以块(大小可设置)为单位先进入缓冲区,其后的读写操作作用于缓冲区;采用这个方法可以降低不同硬件设备之间速度的差异,提升I/O操作的效率.4 .一般在关闭一个缓冲区输出流之前,应先使用flush()方法,强制输出剩余数据.5 .数据数据流DataInputStream和DataOutputStream(Data可以是intlongdoubleBooleanstring)DataInputStream中

6、包含方法:intreadInt();BolleanreadBoolean()DataOutputStream中包含方法:voidwriteInt(inta);voidwriteBoolean(booleana)6 .java中对象读取功能通过java.io包中的ObjectInputStream和ObjectOutputStream类实现.7 .读对象用方法readObject()把数据流以Object类型返回,返回内容应该在转换为正确的类型之后再执行该类的方法:Datad=null;ObjectInputStreams=newObjectInputStream(data.txt);d=(Da

7、ta)s.readObject(d);/要转为正确的类型Data8 .能够记录自己的状态一遍将来得到复原的水平,成为对象的持久性.9 .把对象转换为字节序列的过程称为对象的序列化,把字节序列转化为对象称为反序列化.10 .如果变量是另一个对象的引用,那么引用的对象也要序列化.这个过程是递归的,保存的结果可以看做是一个对象网.11 .Serializable接口中没有定义任何方法,只是作为一个标记来指示实现该接口的类可以进行序列化,而没有实现该接口的类的对象不能长期保存其状态.12 .只有实现Serializable接口的类才能被序列化.13 .要序列化一个对象,必须与特定的对象输入/输出流联系

8、起来;该功能通过ObjectInputStream和ObjectOutputStream类实现.14 .序列化只能保存对象的非静态成员变量,而不能保存任何成员方法和静态成员变量,并且保存的只是变量的值,对于变量的任何修饰符都不能保存,访问权限对于数据域的序列化没有影响.15 .Thread对象或流对象,对于这样的成员变量,必须用transient关键字标明,否那么编译器将报错,任何用transient关键字标明的成员变量都不会被保存.16 .如果一个对象结构表中包含了一个对不可持久化对象的引用,而这个引用已用关键字transient加以标记,那么这个对象仍可以被持久化第三节:根本字符流1. j

9、ava.io包中有专门用于字符流处理的抽象类Reader和Writer,它们只提供了一系列用于字符流处理的接口;它们的方法和Inputstream和Outputstream类类似.2. InputStreamReader和OutputStreamWriter类是字节流和读者、写者的接口,用来在字节流和字符流之间作为中介,其构造方法如下:InputStreamReader(InputStreamin):默认标准InputStreamReader(InputStreamin,Stringenc):指定标准enc(如Unicode、8859_1)OutputStreamWriter(OutputSt

10、reamout):默认标准OutputStreamWriter(OutputStreamoutStringenc):指定标准enc(如Unicode、8859_1)3. 在进行java字符与其他平台转换时如果不进行特定声明,单纯构造一个读者或写者连接到一个数据流,那么将字节码作为默认情况和Unicode进行转换.4. java,io包中提供了缓冲流BufferReader和BufferWriter;其构造方法与BufferInputStream和BufferOutputStream类似;除了read()和write()方法外,还提供了整行字符处理方法:publicStringreadLine(

11、):从输入流中读取一行字符,行结束标志为n;f'或两者一起publicvoidnewline():向输出流中写入一个行结束标志5. 把BufferReader或BufferWriter正确连接到InputStreamReader或OutputStreamWriter的末尾需要在BufferWriter中使用flush()方法,以强制清空缓冲区内容,预防遗漏.第四节:文件处理1 .java.io包中提供了File类,用于处理与文件相关的操作;File对象可以用来生成与文件(及其所在的路径)或目录结构相关的对象2 .创立新的File对象可以用的一下三种构造方法:第一种方法:Filemyfi

12、le;myfile=newFile("java.txt适合麻用程序只用到一个文件时第二种方法:myfile=newFile(广,“java.txt适合应用程序只用到多个文件时第一种方法:Filemydir=newFile("/");myfile=newFile(mydir,"javaiXt台应用程序只用到多个文件时3 .与文件名相关的方法:StringgetName():获取文件名StringgetPath():获取文件路径StringgetAbsolutePath():获取文件绝对路径StringgetParent():获取文件父目录名称boolean

13、renameTo(FilenewName):更改文件名,成功返回true否那么返回false4 .文件测定方法booleanexists():文件对象是否存在booleancanWriter():文件对象是否可写booleancanReader():文件对象是否可读booleanisFile():文件对象是否是文件booleanisDiretory():文件对象是否是目录booleanisAbsolute():文件对象是绝对路径5 .常用文件信息和方法longlastModified():获取文件最后修改时间longlength():获取文件长度booleandelete():删除文件对象指向

14、的文件,成功返回true,否那么返回false6 .目录工具booleanmkdir():创立新目录booleanmkdirs():创立新目录(可以一次生成多个层次的子目录)String口list():列出符合模式的文件名7 .java提供了RandomAccessFile类来处理随机访问文件的输入/输出.8 .创立一个随机访问文件的方法:mode是指(只读r或者读写rw)使用文件名:myrafile=newRandomAccessFile(Stringname,Stringmode);使用文件对象:myrafile=newRandomAccessFile(Filefile,Stringmod

15、e);9 .java语言提供了移动文件读写指针的几个方法longgetFilePointer():返回文件指针当前位置voidseek(longpos):将文件指针置于指定的绝对位置,位置值以从文件开始处的字节偏移量pos来计算,pos为0代表文件的开始longlength():返回文件的长度位置值为length()代表文件的结尾10 .如果文件的读写指针已经移至文件的末尾,假设在这之后使用任何流的write()方法,那么所写入的信息都将添加到原文件之后第八章:图形界面设计第一节:AWT与Swing1 .设计图形用户界面时一般有三个步骤,分别是选取组件、设计布局及响应事件.2 .Swing组件

16、与AWT组件最大的不同是Swing组件在实现时不包含任何本地代码,因此Swing组件可以不受硬件平台的限制,而具有更多的功能.3 .基于AWT的界面可能会因运行平台的不同略有差异,而基于Swing的界面在任何平台上显示效果都是一致的.4 .不包含本地代码的Swing组件被称为"轻量级"组件,而包含本地代码的AWT组件被称为重量级组件.当“重量级组件与“轻量级组件一同使用时,如果组件区域有重叠,那么重量级组件总是显示在上面.5 .Swing组件比AWT组件拥有更多的功能,在Java2平台上推荐使用Swing组件.第二节:容器1. 组件可以分为容器组件和非容器组件.2. 容器组

17、件是指可以包含其他组件的组件,又分为顶层容器和一般用途容器.而非容器组件必须包含在容器中.3. 显示在屏幕上的所有组件都必须包含在某个容器中,有些容器可以嵌套,在这个嵌套的层次的最外层,必须是一个顶层容器.还有一些容器不能当做顶层容器的,例如,JPanel面板和JscrollPane滚动面板.4. Java为所有容器类定义了父类Container,容器的共有操彳都定义在Container类中.5. Swing中的4种顶层容器,分别是JFrame、JApplet、JDialog和JWindow6. JFrame是一个带有标题行和限制按钮(最小化、恢复/最大化、关闭)的独立窗口,有时称为框架,创立

18、应用程序时需要使用JFrame.创立小程序时使用JApplet,它被包含在浏览器窗口中.创立对话窗口时使用JDialog.JWindow是一个不带标题行和限制按钮的窗口,通常很少使用.7. JFrame类常用的构造方法:JFrame():构造一个初始时不可见、无标题的新框架窗体JFrame(String标题):创立一个初始时不可见、具有指定标题的新框架窗体8. JFrame定义和继承的方法:voidsetVounds(intx,inty,int宽,int高):移动并调整框架大小.左上角位置的横纵坐标分另1J由x和y指定,框架宽高分别由宽和高指定voidsetSize(int宽,int高):设置

19、框架的大小voidsetBackground(Color.red):使用颜色red(可选)设置框架的背景色voidsetVisible(Booleantrue/false):设置框架可见或不可见voidpack():调整框架的大小,以适合其子组件的首选大小和布局voidsetTiele(String标题):设置框架的标题(String类型)voidsetLayout(LayoutManagermanager):设置布局治理器ContainergetContainerPane():返回此框架窗体的内容窗格对象9. 4个顶层容器中每一个都有一个内容窗格.除菜单之外,顶层容器中的组件都放在这个内容窗

20、格中.10. 有两种方法可以将组件放入内容窗格中:第一种方法:通过顶层容器个getContentPane()方法获得其默认的内容窗格.getContentPane()方法的返回类型为java.awt.Container,它仍然是一个容器.然后将组件添加到内容窗格中.ContainercontentPane=frame.getContentPane();contentPane.add(button,BorderLayout.CENTER);第二种方法:创立一个新的内容窗格,以取代顶层容器默认的内容窗格.通常的做法是创立一个Jpanel的实例,它是java.awt.Container的子类.然后将

21、组件添加到Jpanel实例中,在通过顶层容器的setContentPane()方法将Jpanel实例设置为新的内容窗格.JPanelcontentPane=newJPanel();创立JPanel实例contentPane.setLayout(newBorderLayout();创立布局治理器contentPane.add(button,BorderLayout.CENTER);添加组件framer.setContentPane(contentPane);添加内容窗格11. 普通面板(Jpanel)和滚动面板(JScrollPane)都是用途广泛的容器.与顶层容器不同,面板不能独立存在,必须被

22、添加到其他容器内部.面板可以嵌套.12. 当组件过多而不能再显示区域内全部显示时,滚动面板可以让容器带滚动条,从而显示出全部的组件.13. JPanel类常用的构造方法:JPanel():创立具有FlowLayout布局的新面板JPanel(LayoutManagermanager):创立具有指定布局治理器的新面板使用publicComponentadd(Componentcomp):方法可以将指定组件追加到面板中14. JScrollPane是带有滚动条的面板,它是Container类的子类.但只能添加一个组件.所以当有多个组件需要添加时,一般先将多个组件添加到JPanel中,然后再讲这个J

23、Panel添加到JScrollPane中.第三节:标签及按钮1 .标签(JLable)对象是简单的的Swing组件,通常用于显示提示性的文本信息或图标,不可被编辑.2 .标签(JLable)的构造方法的6种形式:JLable():创立一个不显示文本信息和图标的空标签JLable(Iconimage):创立一个显示图标的标签JLable(Stringtext):创立一个显示文本信息的标签JLable(Iconimage,inthorizontalAlignment):创立一个显示图标的标签,水平对齐方式由int型参数horizontalAlignment指定JLable(Stringtext,i

24、nthorizontalAlignment):创立一个显示文本信息的标签,水平对齐方式由int型参数horizontalAlignment指定JLable(Stringtext,Iconimage,inthorizontalAlignment):创立一个同时显示图标和文本信息的标签,水平对齐方式由int型参数horizontalAlignment指定horizontalAlignment可选的参数是:JLable.LEFT(左对齐),JLable.RIGHT(右对齐)和JLable.CENTER(居中对齐)3 .修改标签上的图标的方法:voidsetIcon(Iconicon)修改标签上的文本

25、信息的方法:voidsetText(Stringtext)4 .按钮(JButton)是Java图形用户界面的根本组件之一5 .经常用到的4种形式:JButton(普通按钮卜JToggleButton(切换按钮卜JChekBox(复选按钮)和JRadioButton(单项选择按钮),它们均是AbstractButton的子类或间接子类.6 .各种按钮都可以设置文本、设置图标、注册事件监听程序.7 .在AbstractButton中定义了按钮所共有的一些方法,例如:addActionListener()、setEnabled()、setText()和setIcon()等8 .JButton最简单

26、的按钮常用的构造方法:JButton():创立一个没有文本信息和图标的按钮JButton(Iconicon):创立一个显示有图标但没有文本信息的按钮JButton(Stringtext):创立一个显示文本信息但没有图标的按钮JButton(Stringtext,Iconimage):创立一个有显示图标和文本信息的按钮9 .JToggleButton具有两种状态的按钮,即选中状态和未选中状态,默认未选中状态.10 .JToggleButton切换按钮常用的构造方法:JToggleButton():创立一个没有文本信息和图标的切换按钮JToggleButton(Iconimage,booleans

27、elected):创立一个显示图标和指定初始状态但没有文本信息的切换按钮JToggleButton(Iconicon):创立一个显示有图标但没有文本信息的切换按钮JToggleButton(Stringtext):创立一个显示文本信息但没有图标的切换按钮JToggleButton(Stringtext,Iconimage):创立一个有显示图标和文本信息的切换按钮JToggleButton(Stringtext,booleanselected):创立一个显示文本信息和指定初始状态但没有图标的切换按钮JToggleButton(Stringtext,Iconimage,booleanselecte

28、d):创立个有显示图标和文本信息和指定初始状态的切换按钮11 .JCheckBox(复选按钮)和JRadioButton(单项选择按钮)都是JToggleButton(切换按钮)的子类,构造方法与JToggleButton相同,它们也具有选中和未选中状态,默认未选中状态.12 .在JToggleButton类中定义了一个isSelected()方法,通过该方法可以获知按钮的当前状态;当返回值为true时表示选中状态,而返回值为false时表示未选中状态.第四节:布局治理器1 .容器中包含了组件.组件的的布局,包括各组件的位置和大小,通常由布局治理器负责安排.2 .每个容器,例如JPanel或者

29、顶层容器的内容窗格,都有一个默认的布局治理器,可以通过容器的setLayout()方法改变容器的布局治理器.3 .FlowLayout定义在java.awt包中,这个布局治理器对容器中组件进行布局的方式是将组件逐个的放置在容器的一行上,一行放满后就另起一个新行.4 .FlowLayout布局治理器的三种构造方法:FlowLayout():创立一个默认的FlowLayout布局治理器,居中对齐,默认的水平和垂直间距是5个像素FlowLayout(intalign):创立一个默认的FlowLayout布局治理器,对齐方式是指定的,默认的水平和垂直间距是5个像素FlowLayout(intalign

30、,int水平间距,int垂直间距):创立一个,默认的FlowLayout布局管理器,对齐方式是指定的以及指定水平和垂直间距align的可取值有FlowLayout.LEFT、FlowLayout.RIGHT和FlowLayout.CENTER三种方式.5 .与其他布局治理器不同的是,FlowLayout布局治理器并不强行设定组件的大小,而是允许组件拥有它们自己希望的尺寸.每一组件都有一个getPreferredSize()方法,容器的布局治理器会调用这一方法取得每一组件希望的大小.6 .BorderLayout是顶层容器中内容窗格的默认布局治理器,它提供了一种较为复杂的组件布局方案.每个由Bo

31、rderLayout治理的容器被划分为5个区域,分别代表容器的上部(North)、下部(South)、左部(West)、右部(East)和中部(Center)分别使用常量BorderLayout.NORTH、BorderLayout.SOUTH、BorderLayout.WEST、BorderLayout.EAST和BorderLayout.CENTER来表示.在容器的每个区域,可以参加一个组件.7 .BorderLayout定义在java.awt包中,其构造方法有两种:BorderLayout():构造一个组件之间没有间距的新的BorderLayout布局治理器BorderLayout(in

32、t水平间距,int垂直间距):用指定的组件之间的水平和垂直间距构造一个BorderLayout布局治理器8 .在BorderLayout布局治理器下组件必须通过add()方法参加到容器的指定区域.9 .如果在add()方法中没有指定将组件放到哪个区域,那么默认地会被放置在Center区域10 .在容器的每一个区域内,只能参加一个组件,如果试图向某个区域参加多个组件,那么只有最后一个是有效的.11 .GridLayout是一个网格式的布局治理器,它将容器空间划分成假设干行乘假设干行的网格,组件依次放入其中,每个组件占据一格.12 .GridLayout定义在java.awt包中,有3中构造方法:

33、GridLayout():创立一个只有一行的网格,网格的列数根据实际需要而定GridLayout(int行数,int列数):创立具有指定行数和列数的网格布局GridLayout(int行数,int列数,int水平间距,int垂直间距):创立具有指定行数和列数且具有水平间距和垂直间距的网格布局构造方法中,行数和列数中的一个值可以为0,但是不能两个都是0,如果行数为0,那么行数会根据实际需要而定,反之亦然.13 .网格每列的宽度都是相同的,网格每行的高度也是相同的.14 .组件被放入容器的次序决定了它所占据的位置.每行网格从左至右依次填充,一行用完之后转入下一行.15 .BridLayout与Bo

34、rderLayout布局治理器类似,当容器的大小改变时,GridLayout所管理的组件的相对位置不会发生变化,但组件的大小会随之改变.16 .CardLayout定义在java.awt包中的布局治理器,这是一种卡片式的布局治理器,它将容器中的组件处理为一系列卡片,每一时刻只显示出其中的一张,而容器充当卡片的容器.17 .当容器第一次显示时,第一个添加到CardLayout对象的组件为可见组件.18 .卡片的顺序由组件对象本身在容器内部的顺序决定的.19 .CardLayout的两种构构造方法:CardLayout():创立一个默认的无间距的新的CardLayout布局治理器.CardLayo

35、ut(int水平间距,int垂直间距):创立一个具有指定的水平和垂直间距的新的CardLayout布局治理器.20 .除了可以使用add()方法将组件参加容器外,CardLayout还有以下一些常用方法:publicvoidfirst(Containerparent):翻到容器的第一张卡片publicvoidnext(Containerparent):翻到指定容器的下一张卡片.如果当前的可见卡片是最后一张,那么此方法翻转到布局的第一张卡片.publicvoidprevious(Containerparent):翻到指定容器的前一张卡片.如果当前的可见卡片是第一张,那么此方法翻转到布局的最后一张

36、卡片.publicvoidlast(Containerparent):翻到容器的最后一张卡片publicvoidshow(Containerparent,Stringname):翻转至U已添力口至U此布局的具有指定那么的卡片.如果不存在这样的卡片,那么不发生任何操作.21 .BoxLayout是定义在javax.swing包中的另一种常用布局治理器,它将容器中的组件按水平方向排成一行或按垂直方向排成一列.当组件排成一行时,每个组件可以有不同的宽度,当组件排成一列时,每个组件可以有不同的高度.第五节:事件处理1 .在java程序运行时,用户在程序界面所进行的操作称为用户事件.对事件的响应称为事件

37、处理.2 .java中,为了便于治理,系统将事件分类,称为事件类型.系统为每个事件类型提供一个侦听程序接口,它规定了接收并处理该类事件的方法的标准.3 .为了接收处理某类用户事件,组件必须注册相应的事件处理程序,这种事件处理程序称为事件侦听程序(Listener,也称侦听器),它是实现了对应侦听程序接口的一个类.要作为侦听程序对象的类必须实现相应的接口,并实现接口中规定的响应事件的方法.4 .事件被直接送往产生这个事件的组件,组件需要注册一个或多个侦听程序.侦听程序的类中包含了事件处理程序,用来接收和处理这个事件.这种处理事件的机制称为委托事件处理模型.5 .事件处理的步骤如下:第一:程序中弓

38、I入java.awt.even包.importjava.awt.even;第二:给所需的事件源对象注册事件侦听程序.事件源对象.addXXXListener(XXXListener);第三:实现相应的方法.假设某个侦听程序接口包含多个方法,那么需要实现所有方法.6 .在适配器类中实现了相应接口中的全部方法,只是方法的内容为空.第六节:绘图根底1 .可以使用java.awt包中的Color类来定义和治理颜色.Color类的每个对象表示一种颜色.2 .可以有两种方法生成颜色:第一种:使用Java的Color类中预定义的颜色第二种:通过红、绿、蓝三原色的值来组合ColormyColor=newCol

39、or(r,g,b);r、g、b取值0-2553 .可以使用下面两个定义在JComponent中的方法设置组件前景色和背景色:publicvoidsetForeground(Colorc):设置前景色publicvoidsetBackground(Colorc):设置背景色4 .显示文字的方法主要有以下3种:publicvoiddrawChars(chardata,intoffset,intlength,intx,inty):使用止匕图形上下文的当前字体和颜色显示字符数组data中从0ffset位置开始、最多length个字符.首字符的基线位于此图形上下文坐标系统的(x,y)处.publicvo

40、iddrawstring(Stringstr,intx,inty):在指定位置显示字符串strpublicvoiddrawBytes(bytedata,intoffset,intlength,intx,inty):使用此图形上下文的当前字体和颜色显示由指定的byte数组data中从0ffset位置开始、最多length个字符.首字符的基线位于此图形上下文坐标系统的(x,y)处.5 .文字字形有字体、样式及字号3个要素6 .创立Font的构造方法:Font(String字体名称,int字体本式,int字号)顺序不能变7 .Font类中常用的方法:setFont(Fontf):对组件中文本字体进行

41、设定,这个方法需要java.awt.Font类的一个实例做参数StringgetName():返回Font的逻辑名称,即字体名称intgetSize():返回此Font的字号大小,舍入为整intgetStyle():返回此Font的样式BooleanisBold():测试此Font对象的样式是否为BOLDBooleanisItalic():测试此Font对象的样式是否为ITALICBooleanisPl1in():测试此Font对象的样式是否为PLAIN8 .Graphics类是所有图形上下文的抽象父类,允许应用程序在组件以及屏幕图像上进行绘制.9 .绘图模式主要分为两种,分别是正常模式和异或

42、模式.10 .Graphic2D拥有更强大的二维图形处理水平,提供对几何形状、坐标转换、颜色治理以及文字布局等更复杂的限制.11 .Graphic2D有以下一些属性:stroke属性限制线的宽度paint属性限制填充效果transform属性限制图形平移、缩放和斜切等变换操作12 .使用Graphic2D类的新方法画一个图形的步骤通常是:第一:先在重画方法painComponent()或pain()中,把参数对象g强制转换为Graphic2D对象第二:用上述图形类提供的静态方法Double()创立该图形的对象.第三:以图形对象为参数调用Graphic2D对象的draw()方法绘制这个图形.第九

43、章:Swing组件第一节:组合框与列表1 .组合框(JComboBox)是一个下拉式菜单,它有两种形式:不可被编辑和可编辑的.2 .JComboBox常用的构造方法:JComboBox():创立一个没有任何可选项的默认组合框JComboBox(Objectitems):根据Object数组创立组合框,Object数组的元素即为组合框中的可选项.3 .JComboBox类中定义的相关方法:voidaddItem(ObjectanObject):在末尾添加新的可选项ObjectgetItemAt(intindex):返回指定索引序号index处的可选项intgetItemCount():返回列表中

44、的项数voidinsertItemAt(ObjectanObject,intindex):在index指定的位置添加新的可选项anObjectintgetSelectedIndex():返回列表中与给定项匹配的第一个选项的索引序号ObjectgetSelectedItem():返回当前所选项voidremoveAllItems():删除所有可选项voidremoveItem(ObjectanObject):删除由对象anObject指定的可选项voidremoveItemAt(intanIndex):删除由anIndex指定处的可选项4 .在组合框对象创立之后,默认是不可编辑的,可以通过set

45、Editable(true)方法将其设置为可编辑的.5 .列表(JList)是可供用户进行选择的一系列可选项.6 .列表(JList)常用的构造方法如下:JList():构造一个空列表JList(ObjectlistData):构造一个列表,列表的可选项由对象数组listData指定JList(Vector<?>listData):构造一个列表,使其显示指定Vector中的元素7 .列表(JList)类中定义了相关的方法,常用的方法有:publicintgetSelectedIndex():返回所选项第一次出现的所有;如果没有所选项那么返回-1publicObjectgetSele

46、ctedValue():返回所选的第一个值,如果选择为空,那么返回nullpublicvoidsetVisibleRowCount(intvisibleRowCount):设置不适用滚动条可以在列表中显示的首选行数第二节:文本组件1 .文本组件可用于显示信息和提供用户输入功能,在Swing中提供了文本域(JTextField)、口令输入域(JPasswordField)、文本区(JTextArea)等多个文本组件,这些文本组件都有一个共同的父类JTextComponent2 .在JTextComponent中定义了文本组件所共有的一些方法:StringgetSelectedText():从文本

47、组件中提取被选中的文本内容StringgetText(intoffs,intlen):从文本组件中提取范围的文本内容voidselect(intstart,intend):在文本组件中选中指定的起始和结束位置之间的内容voidselectAll():在文本组件中选中所有文本内容voidserEditable(booleanb):设置为可编辑或不可编辑状态voidsetText(Stringt):设置文本组件中的文本内容voidsetDocument(Documentdoc):设置文本组件的文档voidcopy():复制选中的文本到剪贴板voidcut():剪切选中的文本到剪贴板3 .文本域(J

48、TextField)是一个单行的文本输入框,可用于输入少量文本4 .文本域(JTextField)常用的构造方法如下:JTextField():构造一个空文本域JTextField(intcolumns):构造一个具有指定列数的空文本域,int型参数columns指定文本域列数JTextField(Stringtext):构造一个显示指定初始字符串的文本域,String型参数text指定要显示的初始字符串JTextField(Stringtext,intcolumns):构造一个具有指定列数并显示指定初始字符串的文本域,String型参数text指定要显示的初始字符串,int型参数column

49、s指定文本域的列数5 .文本域(JTextField)常用的方法:voidaddActionListener(ActionListenerl):添加指定的操作侦听器,接收操作事件voidremoveActionLisener(ActionListenerl):移除指定的操作侦听器,不再接收操作事件voidsetFont(Fontf):设置当前字体voidsetHorizontalAlignment(intalignment):设置文本的水平对齐方式.有效值包括JTextField.LEFT、JTextField.CENTER、JTextField.RIGHT、JTextField.LEADIN

50、G和JTextField.TRAILINGintgetColumns():返回文本域的列数6 .可以用setEditable(boolean)方法将文本域设定为可编辑或不可编辑状态7 .文本区(JTextArea)是一个多行多列的文本输入框.8 .文本区(JTextArea)常用的构造方法如下:JTextArea():构造一个空文本区JTextArea(Stringtext):构造一个显示指定初始字符串的文本区,String型参数text指定要显示的初始字符串JTextArea(introws,intcolumns):构造一个具有指定行数和列数的空文本区,int型参数rows和columns分

51、别指定文本区的行数和列数JTextArea(Stringtext,introws,intcolumns):构造一个而具有指定行数和列数并显示指定初始字符串的文本区,String型参数text指定要显示的初始字符串,int型参数rows和columns指定文本区的行数和列数9 .文本区(JTextArea)常用的方法:voidappend(Stringstr):将指定的文本str追加到文本区voidinsert(Stringstr,intpos):将指定文本str插入到文本区的特定位置pos处voidreplaceRange(Stringstr,intstart,intend):用指定文本str

52、替换文本区中从起始位置start到结尾位置end的内容第三节:菜单组件1 .菜单也是最常用的GUI组件之一,Swing包中提供了多种菜单组件,包括菜单栏(JMenuBar)、菜单项(JMenuItem)、JMenu、复选菜单项(JCheckBoxMenuItem)、单项选择菜单项(JRadioButtonMenuItem)和弹出菜单(JPopupMenu)等.2 .菜单有下拉式菜单和弹出式菜单两种.3 .菜单栏(JMenuBar)是窗口中的主菜单,用来包容一组菜单.4 .菜单栏(JMenuBar)只有一种构造方法,即JMenuBar()5 .如果将整个菜单系统看做是一棵树,那么菜单项(JMen

53、uItem)就是这棵树的叶子,是菜单系统的最下面.6 .菜单项(JMenuItem)常用的构造方法如下:JMenuItem():创立不带有设置文本或图标的菜单项JMenuItem(Iconicon):创立一个只显示图标的菜单项,图标由Icon型参数icon指定JMenuItem(Stringtext):创立一个只显示文本的菜单项,文本由String型参数text指定JMenuItem(Stringtext,Iconicon):创立一个同时显示文本和图标的菜单项,文本由String型参数text指定,图标由Icon型参数icon指定.JMenuItem(Stringtext,intmnemoni

54、c):创立一个显示文本并且有快捷键的菜单项,文本由String型参数text指定,快捷键由int型参数mnemonic指定7 .复选菜单项(JCheckBoxMenuItem)和单项选择菜单项(JRadioButtonMenuItem)是两种特殊的菜单项.8 .复选菜单项(JCheckBoxMenuItem)前面有一个小方框.9 .单项选择菜单项(JRadioButtonMenuItem)前面有一个小圆圈.10 .复选菜单项(JCheckBoxMenuItem)和单项选择菜单项(JRadioButtonMenuItem)都有选中或不选中的操作,因此在构造方法中可以用boolean型参数指定菜单

55、项的初始状态.第四节:对话框1 .对话框(JDialog)是一个临时的可移动的窗口,且要依赖于其他窗口,当它所依赖的窗口消失或最小化是,对话框也将消失.当窗口复原时,对话框会自动恢复.2 .一般要先创立一个窗口类,在创立一个对话框类,且让对话框依附于窗口.3 .对话框(JDialog)分为强制型和非强制型两种.强制型对话框被关闭之前,其他窗口无法接收任何形式的输入,也就是该对话框过程不能中断,这样的窗口也称为模式窗口;非强制型对话框可以中断对话过程,区响应对话框之外的事件.4 .对话框(JDialog)的构造方法如下:JDialog(Dialogowner):创立一个没有标题但将指定的对话框作

56、为其所有者的无模式对话框JDialog(Dialogowner,Booleanmodal):创立一个没有标题但有指定所有者的对话框,boolean型参数modal指定对话框是有模式或无模式.JDialog(DialogownerStringtitle):创立一个有标题和指定所有者的无模式对话框JDialog(DialogownerStringtitle,Booleanmodal):创立一个有标题和指定所有者的对话框,boolean型参数modal指定对话框是有模式或无模式.JDialog(Frameowner):创立一个没有标题但有指定的框架作为其所有者的对话框,JDialog(Frameow

57、ner),Booleanmodal):创立一个没有标题但有指定的框架作为其所有者的对话框,boolean型参数modal指定对话框是有模式或无模式.JDialog(FrameownerStringtitle):创立一个有标题和指定所有者框架的无模式对话框JDialog(FrameownerStringtitle,Booleanmodal):创立一个有标题和指定框架所有者的对话框,boolean型参数modal指定对话框是有模式或无模式.5 .刚刚创立的对话框(JDialog)是不可见的,需要调用setVisible(true)方法才能将其显示出来;当对话框不需要显示时,调用setVisible(false)方法可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论