j2-7传参[1].ppt_第1页
j2-7传参[1].ppt_第2页
j2-7传参[1].ppt_第3页
j2-7传参[1].ppt_第4页
j2-7传参[1].ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第九章Javaapplet和application9 1JavaAPIJava程序设计就是定义类的过程 但Java程序中定义的类的数目和功能都是有限的 编程时还需要用到大量的系统定义好的类 即Java类库中的类 Java类库是系统提供的已实现的标准类的集合 即JavaAPI 可帮助开发者方便 快捷地开发Java程序 经常使用的包 jdk1 2 java corbajava corba orbjava lang reflect java rmijava rmi registryjava rmi serverjava securityjava security acljava security interfacejava util zipjava awt datatransferjava awt eventjava sql 9 2Applet类java applet包是JavaAPI最小的包 Applet是包里唯一的类 它有20种以上的方法显示图象 播放声音文件和响应用户的交互作用 9 3Graphics类使用Java的图形功能 可在applet窗口的屏幕上绘制图形与写文本以及显示图象 Java中的大部分图形操作方法都是在Graphics类中定义的 Graphics类是表示applet显示区域的抽象类 它是 java awt包的部分 用于在applet的显示区域上画图 为了在applet窗口中绘制图形 可不需要创建Graphics的实例 Applet的paint 方法给出Graphics对象 通过使用该对象 结果就会出现在浏览器中 Java的坐标系统规定在屏幕左上角为原点 0 0 正x值向右 正y值向下 所有的象素值均为整数 Graphics类提供画许多图象的方法 文本 圆和椭圆 线 矩形和多边形 图像 9 4画applet当屏幕需要更新以显示新的内容 窗口通过制作必须更新的区域 矩形 来处理 然后画出显示的结果 由update 和paint 方法完成 update 方法 取Graphics类对象作为参数 当applet区域需要重画时 Windows系统开始画画过程 调用update 方法清除屏幕再调用paint 方法 屏幕然后由系统更新 paint 方法 取Graphics类对象作参数 在绘画区画applet的图象 方法被第一次自动激活时 applet显示在屏幕上而且每次applet收到焦点 由调用repaint 方法而触发paint 方法 repaint 方法 当想要重画applet的区域时调用该方法 repaint 方法是调用update 方法发出applet需要更新的信号 update 方法的缺省操作是清除applet区域和调用paint 方法 如果不想清除applet区域可以抑制update 方法 例子 importjava applet importjava awt publicclassAppletMethodsextendsApplet intinitCounter 0 intstartCounter 0 intstopCounter 0 intdestroyCounter 0 publicvoidinit initCounter repaint publicvoidstart startCounter repaint publicvoidstop stopCounter repaint publicvoiddestroy destroyCounter repaint publicvoidpaint Graphicsg g drawString inithasbeeninvoked String valueOf initCounter times 20 20 g drawString starthasbeeninvoked String valueOf startCounter times 20 35 g drawString stophasbeeninvoked String valueOf stopCounter times 20 50 g drawString destroyhasbeeninvoked String valueOf destroyCounter times 20 65 9 5设置applet文本的字体和颜色Graphics类与Font类和FontMetrics类结合在一起 就能在屏幕上显示文本 Font类表示一个给定字体 它的文本类型和点的大小 FontMetrics类给出有关字体的信息 如一个给定字符的实际高度和宽度 一 字体对象的创建Fontf newFont TimesRoman Font BOLD 24 注意 Font类的构造方法有三个参数 二 设置字体每次写一个字符或字符串到屏幕上 就使用当前字体写该文本 为改变不同的字体 首先要改变当前字体 g setFont f 三 写字使用drawChars 和drawString 方法在屏幕上写文本 g drawString ThisistheJavaString 10 100 四 颜色Java提供color类处理颜色的方法和行为 还提供设置当前背景和前景颜色的方法 Java的抽象颜色模型使用24位颜色 任一颜色的三部分都具有0和255之间的一个数 如 0 0 0 是黑色 255 255 255 是白色 1 颜色对象的使用为了用一种特定的颜色绘制一个对象 必须创建表示该颜色的Color类的实例 Color类定义一组存储在类变量中的标准颜色对象 如 Color red Color black等 还可以用以下方法来创建一个颜色对象 Colorc newColor 0 55 0 55 0 55 2 当前颜色的测试与设置使用一个Graphics类对象的方法来设置颜色 g setColor Color green 颜色的测试使用以下方法 g getColor 但是获得的颜色常常被用到设置当前applet的颜色上 如 setForeground g getColor 9 6传递参数给appletapplet可通过HTML使用参数 从含有标签的HTML文件中获得不同的输入 从HTML中合理地使用参数 既可以控制对applet的执行 也可以增加applet的灵活性 不致于因简单的修改而对整个java源程序重新编译 为了在一个applet中建立和处理参数 必须 1 在HTML文件中设置一个特殊的参数标志 2 在applet中从语法上分析这些参数的代码 在包含嵌入applet的HTML文件中使用标签表示每个参数 标签具有名字和值两个属性 其分别称为NAME和VALUE 一 形式 在HTML文件中 在applet文件中 可以在init 方法中用getParameter myPara 方法获得这些参数 getParameter 方法的语法 String保存参数值的变量 getParameter 参数名 getParameter 方法有一个参数 返回包含对应该参数值的一个字符串 例如 StringtheFontName getParameter font 二 注意1 作为在中指定的参数名 和在getParameter 的参数名必须完全匹配 2 如果用户没有在HTML文件中指定所需的参数 getParameter 就返回null 用户层次需要测试一个null参数 并提供一个适当的缺省 例如 if theFontName null theFontName Courier 三 例子importjava awt importjava applet publicclassAppletofParamextendsApplet privateStringparamName paramName用来保存返回对应参数值的字符串publicvoidinit paramName getParameter who if paramName null paramName world publicvoidpaint Graphicsg super paint g g drawString Hello paramName 50 50 程序对应的HTML文件 ThisistheexampleofParametrtransfer 请注意applet文件和HTML文件中红色的对应paramName getParameter who 例子 importjava awt importjava applet publicclassDisplayBackgroundextendsApplet privateStringbackgroundParameter publicvoidinit backgroundParameter getParameter background if backgroundParameter equals Red setBackground Color red elseif backgroundParameter equals Blue setBackground Color blue 9 7application一 application的结构所有的applets必须从Applet类扩展 不象applets application不需要从任何类扩展 它的执行也不需要浏览器 application以main 方法开始 publicstaticvoidmain Stringargs 关键字public和static可以在方法说明时互换 应用程序由javac编译 由java去执行它 二 传递参数给application当执行application时可以传递参数给它 传递的参数是作为String数组收到的 例子 publicclassParameterApplication publicstaticvoidmain Stringargs for intx 0 x args length x System out println Parameternumber x is args x 对源文件编译后 用下列语句执行application javaParameterApplicationSendingfivewordsasparameters输出 Parameternumber0isSendingParameternumber1isfiveParameternumber2iswordsParameternumber3isasParameternumber4isparameters 三 main 方法的限制main 方法是静态的 因此 它能通过类的对象访问类的非静态成员 例子 publicclassApplication intnonStaticVariable StaticintstaticVariable publicvoidnonStaticMethod 语句 publicstaticvoidmain Stringargs nonStaticVariable 0 非法的staticVariable 0 合法的 同样也适用于方法 要访问非静态方法 代码是 ApplicationappObject newApplication appObject nonStaticMethod 9 8转换applet为application可以将applet转换为application 增加main 方法 它负责创建 调整大小和显示应用程序的窗口 applet代码 importjava applet importjava awt publicclassDisplayAppletextendsApplet publicvoidpaint Graphicsg FontmyFont newFont TimesRoman Font BOLD Font ITALIC 14 g setFont myFont g drawString Thisisdisplayedbythepaintmethod 20 20 下列代码加入到applet中就会转换成为application publicstaticvoidmain Stringargs Frameframe newFrame DisplayAppletapp newDisplayApplet app init frame add Center app frame setVisible true frame setSize 200 200 Frame的默认布局管理器是 理解步骤 1 创建框架窗口Frameframe newFrame 2 创建applet类的对象并由调用init 方法启动它DisplayAppletapp newDisplayApplet app init 3 使用Frame的add 方法 增加applet对象到框架窗口frame add Center app 4 使用Frame类的setVisible 方法 为用户显示窗口 并且用setSize 调整窗口大小frame setVisible true frame setSize 200 200 完整的应用程序代码 importjava applet importjava awt publicclassDisplayAppletextendsApplet publicvoidpaint Graphicsg Font

温馨提示

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

评论

0/150

提交评论