java课程总结_第1页
java课程总结_第2页
java课程总结_第3页
java课程总结_第4页
java课程总结_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

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

文档简介

1、Java课程总结摘要:java语言的程序有两种基本形式,一种是Application 程序,另一种是Applet小程序,Applet小程序是基于浏览器运行的程序,它不是独立完整的, 需要在WW浏览器这种特定环境下运行;图像用户界面(GUI)使用图形方式, 借助于窗口中的菜单、按钮等界面元素和鼠标操作,实现用户与计算机系统的交 互作用。关键字:java学习 图像用户界面 Applet一、图形化用户界面知识点总结1.1基本概念AWT(Abstract Win dow Toolkit):抽象窗口工具包,SUN公司提供的用于图形界面编程(GU)的类库。AWT 框架不使用原生窗口部件(native wi

2、dgets),一直未能突破LCD问题。LCD问题 导致了一些主要平台特征的遗失.AWT组件具有平台相关性.Swi ng:Swing 是纯Java实现的轻量级(light-weight)组件,它不依赖系统的支持,Swing组件在不同平台具有一致性的表现,可以解决AWT匡架的LCD问题,是 Sun创建的新框架,但是Swing应用程序的界面外观不再和原生应用程序的外观 相似。而且消耗太多的内存,这样 Swing不适于一些小设备.java.awt 包:java.awt 包中提供了 GUI设计所使用的类和接口,提供了基本的java程序 的GUI设计工具。2. 图像用户界面的构成 容器:若干个组件和容器的

3、集合,对图形界面中的界面元素进行管理。 注:容器有可以独立的窗口和不可以独立窗口两种。 组件:图形用户界面中不可再分的最小元素。常用组件有:标签(Label)按钮(Butt on)文本编辑区(TextField,TextArea)复选框(Checkbox)单选按钮(CheckboxGroup 或 RadioButt on)下拉列表(List或Choice)3. 图形用户界面的实现选取组件一 设计布局一 响应事件 选取组件根据需要选取合适组件组成图形界面。注:在容器中放入组件首先要定义,再初始化,再加入到容器中。 设计布局利用容器的布局管理器实现。 响应事件用户通过图形界面进行某种操作,则引发了

4、相应的事件,如,单击组件按钮时, 便会产生一种事件对象。事件对象描述了用户应该执行的操作。4. 界面元素的类结构Java.awt包中包含了 GUI所需要用的各类组件,各类容器。界面元素间的层次关系:ib.Frmt fr丫啊夫宅兔巳III讼迅14、+恫-it(y血旳L b(Mhjccl1 luwl些皿川如讨订岬為*t Herder I iyom(也艸机 lj 洱列IWckboxCirumn 惓钮片I I-1 OTIU :4 t-.) Colorf i:d迪芟rGraphic M几何厠腦类 E: Venn h 件 f.j ltn;ie( 7|电 t 卜-今呎 MenuCflniponemt V.

5、Il Sill - _ _1r McnuhcrnU 丄D讪咽对透能封卞图57 java, awl fe中郵井类的毘次关系分析:组件类Compo nent中包含了许多基本组件;容器类Contain er是组件类的 一个子类,容器本身也是一种组件。总结:Java图形用户界面设计实际上就是向容器中添加组件或容器,组件在容器中的布局由布局管理器类来决定。5. 事件和事件处理(1)事件处理的方法 事件处理机制可分为3部分:事件源:图形用户界面上可能发生事件的每个组件,如单击按钮、 移动鼠标、关闭窗口等。事件对象:封装了有关事件的若干信息的事件类的对象。事件监听者:当事件发生时,事件监听者便是被通知的对象

6、。总结每个事件源可以发出若干种不同类型的事件, 对每个事件源要注册事件监 听者,当发生某种事件时,事件监听者将接收到通知,调用相应的方法来发生的 事件进行处理。注:1)创建某种事件类的事件对象并要将它加入容器中。2) 注册当前容器为事件对象的监听者。3) 重新定义接口中的相应方法用来进行事件处理。(2)事件类和监听者接口Java.awt.eve nt包中包含很多事件类,构成了一个事件类的体系结构:图5-4 EventObject 类所有事件的父类,包含一个最常用的方法getSource(),它的功能是返回产生事件的事件源。 AWTEve n类常用的方法:getlD()功能:返回事件的类型。 A

7、ctionEvent 类执行动作事件,引发的事件动作包括:1 )单击按钮2) 选择菜单项3) 在文本框输入回车键4) 双击列表项中的选项重要的方法有:1) public String getActi on Comma nd()功能:返回引发事件的动作的命令名。2) public Stri ng getModifiers()功能:按不同的辅助键进一步将某一个事件再细分为几个事件 ItemEvent 类引发该类事件的动作有:1 )改变List对象选项的选中或不选中状态2)改变Choice对象选项的选中或不选中状态。3 )改变Checkbox对象的选中或不选中状态。4 )改变MenuItem对象的选

8、中或不选中状态。主要方法有:1)public ItemSelectable getltemSelectable getActio nComma nd()功能:返回引发选中状态变化事件的事件源。2)public Object getItem()功能:返回选中状态变化事件的具体选项。3) public int getStateChange()功能:返回选中状态变化的类型,该方法的返回值有:ItemEve nt.SELECTED选项被选中ItemEve nt.DESELECTED选项未选中 TextEvent 类代表文本框中文本的变化事件。6. 基本控制组件的使用图形用户界面的3种组成成分:用户自定

9、义成分、控制组件、容器AWTfl件层次关系-Q Checkbox jh o i Container -(TabeT) -C.Li5tJ_FilePialogl町L /,“n巧Scroll-QSc rol I bar).p Ts LH)Contain er类的方法如下:1. add(Component comp):将指定组件放到容器中2. remove(Component comp):删除指定组件3. setLayout(LayoutMa nager mgr):设置容器布局使用add()方法,可以将其他对象加入到容器中。组件的位置和尺寸由布局 管理器决定。public void setEnabl

10、ed(boolean b) :设置组件的使能状态。参数b 为 true则组件使能,否则组件不使能。只有使能状态的组件才能接受用户输入并引发事 件public void setFo nt(Fo nt f) :设置组件使用的字体public void setSize(i nt width,i nt height):设置组件的大小public void setVisible(booleanb):设置组件是否可见的属性。参数b为true时,组件在包括它的容器可见时也可见;否则组件不可见public void setForegrou nd(Color c):设置组件的前景色public void req

11、uestFocus():使组件获得焦点Frame 类 Frame类是 Window类的直接子类; Frame对象显示的效果是一个“窗口”,带有标题和尺寸; Frame默认初始化为不可见的,可使用setVisible(true)方法使之变为可见; 默认的布局管理器是BorderLayout,可使用setLayout()方法改变其默认布局 管理器。1. Frame的构造方法有:Frame f=new Frame();Frame f=new Frame(Stri ng s);s为Frame的标题字符串。2. Frame 方法 设置窗口大小setSize()这个方法用来设置窗口的大小,如下所示:voi

12、d setSize(i nt n ewWidth, i nt n ewHeight)void setSize(Dime nsio n n ewSize)窗口的新的大小在变量 newWidth和newHeight中被指定,或者在来自Dimension 类的newSize对象的width和height这两个成员变量中被指定。这些大小使用 像素为单位。 获得当前的窗口大小getSize()这个方法被用来获得当前的窗口大小,这个方法返回一个 Dimension对象,在这个对象的成员变量 width和height中 存放着当前窗口的大小。Panel 类 Panel不是顶层窗口,它必须位于窗口或其他容器之

13、内; Panel可以容纳其他组件,在程序中经常用于布局和定位; Panel默认的布局管理器是FlowLayout,可使用setLayout()方法改变其默认 布局管理器; Panel可以采用和所在容器不同的布局管理器。7.Java中设计和实现图形用户界面的步骤:1. 创建组件(Component):创建组件类的对象,指定其大小等属性。2. 指定布局(Layout):根据具体需要排列组件的位置关系。将该控制组件对象 add()加入到某个容器中的指定位置处。3. 响应事件(Eve nt):将该组件对象注册给它所能产生的事件对应的事件监听 者,重载事件处理方法,实现利用该组件对象与用户交互的功能。五

14、种布局管理器:BorderLayout :边沿布局FlowLayout :顺序布局GridLayout :网格布局CardLayout :卡片布局GridBagLayout :人为布局setLayout( nu II)设置布局管理器事件适配器ComponentAdapter:组件适配器;ContainerAdapter :容器适配器;FocusAdapter:焦点适配器;KeyAdapter:键盘适配器;MouseAdapter:鼠标适配器;MouseMotionAdapter :鼠标运动适配器;WindowAdapter:窗口适配器;abstract面板(Panel):是一个无边框的纯粹的容

15、器,可以包含其他组件或加一个面板,但 是它不能作为独立的窗口使用在默认情况下,面板使用FlowLayout布局,可以 使用setLayout()方法对布局方式进行修改.面板目:的是为了分层次、分区域管理组件.注:Applet是一个特殊的面板.setLocation(),setSize()或 setBounds(),来将它们定位在容器中。Panel();构造方法,以默认布局方法创建一个面板Pan el(LayoutMa nager layout);/用指定布局创建一个面板public Comp onent add(Comp onent comp,i nt in dex);为容添加一个组件菜单Ja

16、va语言中提供了多种样式的菜单,如一般式、复选框式、快捷键式及弹出式 菜单等。如图所示的菜单栏(MenuBar)、菜单(Menu)和菜单项(Menultem)三类对 象组成。1. MenuBar类(菜单栏)用于创建菜单栏的构造方法,它是摆放菜单的容器。 Men uBar类中的构造方法是 MenuBar(),使用该构造方法可以创建新的菜单栏对象,再用Frame类中的方setMenuBar()将菜单栏放置到Frame窗口框架中。例如:Frame f=new Frame( “MenuBa” );Me nuBar mb=neWMe nuBar();f.setMe nuBar(mb);/可以把菜单栏加载

17、到窗口的上方2. Menu类(主菜单项)add()方法加载到菜单栏Menu类中包含了用于创建菜单的构造方法。菜单中又包含了若干菜单项。如鼠 标点击一个菜单时,就展开了该菜单,在菜单中显示了一列菜单项。创建菜单对 象使用Menu类的下述构造方法:Menu():创建一个空标签的JMenu对象。Men u(Stri ng text):使用指定的标签创建一个 JMe nu对象。Menu(String text ,Boolean b):使用指定的标签创建一个 JMenu对象,并给出 此菜单是否具有下拉式的属性。Menu (Actio n a):创建一个支持 Actio n 的 JMe nu 对象Menu

18、ltem类(子菜单)add()方法加载到菜单中Menultem类包含了一些用于创建菜单项的构造方法和方法。一个菜单项是包含 在菜单中的一个字符串。当用鼠标或键盘按键选中它们时,就触发了一个动作事 件。构造方法:Menultem();使用空标签构造一个菜单项对象Men ultem(Stri ng label);创建一个菜单项对象Menultem(String label,MenuShortcut s);创建一个菜单项对象快捷键.Menu m仁new Menu(“文件”);Menultem mi仁new Menultem( “存储” ,new MenuShortcut(KeyEvent VK_S)

19、; 快捷键Menultem mi2=new Menultem( “取出”);ml.add(mil); m1.add(mi2);在Menu菜单中定义了 addSeparator()和insertSeparator()方法,可加入分隔线带复选项的菜单(CheckboxMenultem)在菜单前面有一个复选项,可以对它进行选中操作.public CheckboxMe nultem();public CheckboxMe nultem(Stri ng label);public CheckboxMe nultem(Stri ng label,Boolea n state);如:Menu m仁new M

20、enu(“File ”);CheckboxMenultem mil=CheckboxMenultem( “Persistent ” );ml.add(mil);/初态为未选中的菜单项并将其加载到菜单ml中.制作菜单的一般步骤制作一个可用的菜单系统,一般需要经过下面的几个步骤:(1)创建一个 MenuBa对象并将其放置在一个 Frame中;setMenuBar()将菜单 栏放置到Frame窗口框架中。创建Menu菜单对象添加到MenuBar中。add()方法加载到菜单栏 创建MenuItem菜单项对象并将其添加到 Menu对象中;add()方法加载到菜 单中当然,上面主要是创建菜单的结构,如果要

21、使用菜单所指出的功能,则必须要为 菜单项注册监听者,并在监听者提供的事件处理程序中写入相应的代码。菜单项被选中时,引发一个Acti on Eve nt事件,为菜单项注册Acti on Liste ner并实现相应的方法.文件对话框(FileDialog)文件对话框是使用文件操作时经常用的组件, 例如打开、保存文件等。它有自己 的自由窗口,以及窗口元素,并且允许用户浏览文件系统,以及为以后的操作选 择一个特定的文件。下面是一个创建文件对话框的例子:FileDialog d = new FileDialog(pare ntFrame, FileDialog);d.setVisible(true);

22、Stri ng fname = d.getFile();通常并不需要处理FileDialog的事件。调用setVisible(true)将阻塞事件,直至用户选择0K这时会请求用户选择一个文件名,作为一个String返回。TextField显示为单行文本无法存放多行文本TextField tf=new TextField(20); /设置为 20 列f.add(tf,North);TextArea设置为多行文本final TextArea tf=new TextArea();f.add(tf);应用1 import java.awt.*;import java.awt.eve nt.*;publ

23、ic class Men uExample exte nds Frame impleme nts Action Liste ner Panel p=new Pan el(); Button bt=new Butt on (”退出系统);Men uBar mb=new Men uBar();以下创建菜单栏对象Menu m仁new Menu(” 文件);Men ultem ope n=new Men ultem(”打开);Men ultem close=new Men ultem(”关闭);Men ultem exit=new Men ultem(”退出);Menu m2=new Menu(” 编

24、辑);Men ultem copy=new Men ultem(”复制);Men ultem cut=new Men ultem(”剪切);Men ultem paste=new Men ultem(”粘贴);Menu m3=new Menu(” 帮助);Men ultem conten=new Men ultem(” 目录);Men ultem in dex=new Men ultem(”索引);Men ultem about=new Men ultem(”MenuExample() 构造方法关于); super(Window 窗口 ”);setSize(300,100);add(South

25、,p); p.add(bt);bt.addAct ion Liste ner(this);m1.add(ope n);m1.addSeparator();m1.add(close);m1.addSeparator();m1.add(exit);exit.addAct ion Liste ner(this);mb.add(m1);m2.add(copy);m2.addSeparator();m2.add(cut);m2.addSeparator();m2.add(paste);mb.add(m2);m3.add(c onten); m3.addSeparator();m3.add(i ndex)

26、;m3.addSeparator();m3.add(about);mb.add(m3);setMe nuBar(mb);show();public static void main( Stri ng args) new Men uExample(); public void action Performed(Acti on Eve nt e) if(e.getAct ion Comma nd()=退出|e.getSource()=bt)System.exit(O);应用2./创建一个文件对话框,在用户单击窗体的按钮时,该对话框显示出来 选择文件的路径和文件名显示在框架的文本区中.import

27、java.awt.*; import java.awt.eve nt.*;public class FileDialogExample impleme nts Actio nListe ner Frame ff; Button bb; TextArea tt;FileDialog dd;public static void main( Stri ng args) FileDialogExample fde=new FileDialogExample();fde.go();public void go() ff=new Frame(”文件对话框举例);bb=new Button(”显示文件对话框

28、);bb.addActio nListe ner(this);/事件注册ff.add(South,bb);tt=new TextArea();ff.add(Ce nter,tt);dd=new FileDialog(ff,文件对话框);ff.setSize(350,120);ff.setVisible(true);ff.addWi ndowListe ner(n ew Win dowAdapter() public void win dowClos in g(Wi ndowEve nt e) System.exit(0););public void acti on Performed(Act

29、ion Eve nt e) dd.setVisible(true);tt.setText(Director:+dd.getDirectory();tt.appe nd(nFile name:+dd.getFile();B文件对话框举例M叵I fx-F %Director:D:F llename : P anelEx ample, j ava显示文件对话框文件对话抠二、Java Applet基于浏览器运行的小程序。知识点总结2.1 Applet 的特点(1) Applet类的主类必须是类库中已定义的 Applet类的子类,一般定义格式 如下:public class exte nds Apple

30、t(2)Applet是一个已经构建好的框架程序中的一个模块。它不能直接运行,必 须将它的字节码文件嵌套在一个 HTML文件中,通过激活Web浏览器中的Java 解释器才可执行。(3) Applet可以直接利用浏览器或 AppletViewer所提供的图形用户界面来显 示运行结果。2.2 Applet 类Applet存放在java.applet包中,是java语言类库中的一个重要系统类。(1) Applet类和其他类间的关系注:默认情况下,Applet类使用了 FlowLayout布局管理器。(2)Applet的主要方法 ini t()方法作用:完成初始化操作,如:创建对象、加载图形和文字、设置

31、参数、加载声音 等。重载格式:public class init方法体注:该方法通常在Applet第一次被加载时调用,在Applet运行期间只执行一次 start()方法作用:启动浏览器运行Applet主线程。重载格式:public class start方法体注:该方法在初始化后至少被调用1次,通常,当Applet被重新启动时,系统会自动调用该方法。Applet被重启的两种情况:1 )用户使用了浏览器Reload操作;2 )离开浏览器后又返回。 paint()方法功能:输出显示结果。重载格式:public class paint注:它是系统自动调用的方法,自动调用的情况如下:1) 当Appl

32、et被启动后,系统自动调用该函数重绘界面。2) 当Applet所在的浏览器的窗口改变时。3) 当Applet的repaint()方法和其他相关方法被调用时。 stop()方法功能:结束Applet程序。重载格式:public class stop destroy。方法功能:终止Applet的执行,释放Applet占有的一切资源。注:该方法在Applet结束时一定被调用。小结:Applet的生命周期图:Z初始状态ts.rt.O.-1 /L丿最小口飞停止Si贝闻Applet程序的典型结构:图2.3 Applet 程序和HTM文件(1) HTML文件由HTML中规定的标记构成。常用标记:和v/HTM

33、L 表示HTML文件的开始和结束。ffiv/HEAD 表示 Web浏览器窗口标题内容。?Hv/BODY 表示HTML文件在浏览器窗口中显示内容。0 表示嵌入至U HTML文件中的 Applet。注:HTML中不区分大小写。APPLET标记的使用格式vAPPLET code= ” width=v宽度值 height=v高度值相关参数说明:code:给出字节码文件名,可用路径表示,也可用网络的URL表示,如:D:JavaWork1.class 。width : Applet显示区的宽。height : Applet显示区的高。向Applet传递参数方法:使用PARAMS记来实现。格式如下:PARA

34、M name= value=注:参数值是字符串类型。Applet文件中使用getParamenter()方法读取参数,如:int x;x=lnterger.parseInt(getParamenter(“xpixels ” );/ 强制转换,字符串类型一 整型。图:=气字节码文件名Hwidth-宽度height =长度rinn? font value = rimcsRoman)M name size value h,30rr 卑爲M name=string value =HelloiBeijing!r, name = xpixtls value = 40M IJ 侄星* name ypixcl

35、s value =u60TF) |l 備社卩Applet应用1.绘制图形(1) 设置字体Front类构造方法Fron t(Stri ng n ame,i nt style,i nt size)参数说明:name:字体名,常用有 Courier,Helvetica,TimesRoman, 宋体,楷体等。style:字体风格。size:字号。(2) 设置颜色一一Color类 构造方法public color(i nt r,i nt g,i nt b) 常用方法1) public void setColor(Color c)设置当前颜色2) public void getColor() / 返回当前

36、颜色3) public void getRed() / 返回红色分量public void getGree n() /返回绿色分量public void getBlue() /返回蓝色分量注:13种颜色常量图(3)绘制文本Graphics类绘制字符串public void drawStri ng(Stri ng stri ng,i nt x,i nt y)功能:将字符串string显示到指定位置(x,y )。 绘制字符public void drawString(char chars,int offsetnt number,int x,int y) 功能:绘制若干个字符,offset :字符数

37、组的起始下标,number:绘制字符的个 数。 绘制字节public void drawStri ng(byte bytes,i nt offset, int nu mber,i nt x,i nt y)功能:绘制若干个字节。(4) 画直线void drawL in e(i nt x1,i nt y1,i nt x2, i nt y2)功能:在点(x1,y1 )和(x2,y2 )间画一条直线。(5) 画矩形在Applet中显示图像在Applet中进行图像显示时,通常是首先使用 Applet类的getlmage()方法装 载一个Image对象,然后使用Graphics类的drawImage()方

38、法将该对象画到屏 幕上。Applet类的getImage()方法有两种形式:public Image getlmage(URL url, String n ame)public Image getImage(URL url)在第一种形式中,url是路径,name是图像文件名。在第二种形式中,url直接包含了路径和文件名。使用Graphics类的drawImage()方法可以将Image对象画到屏幕上。drawImage()方法有多种形式,较常用的是:drawImage(Image img, i nt x, i nt y, ImageObserver observer)在这个格式中,参数img表示要画的Image对象,x和y表示Image对象的位置, observer是绘图过程的监视器。在Applet中播放声音在Applet中,播放声音文件的最简单的方法就是使用Applet类的play()该方法有两种形式:

温馨提示

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

评论

0/150

提交评论