欢迎来到天天文库
浏览记录
ID:26921442
大小:1.07 MB
页数:171页
时间:2018-11-30
《《图形用户界面》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章图形用户界面郑莉JAVA语言程序设计1目录9.1Applet概述9.2Applet应用程序接口9.3绘图9.4Swing基础9.5Swing的特点和概念9.6Swing组件9.7其它Swing特性9.8本章小结(说明:本章部分例题出自java_tutorial_sun)29.1Applet概述JavaApplet一种嵌入HTML文档中的Java程序与Application相比,Applet具有明显的优点web浏览器提供了运行Applet所需要的许多功能Applet是在运行时通过网络从服务器端下载的,因而便于软件的发布和及时更新Applet也有其局限性,不能在客户机上
2、读写当地文件也不能连接除它所在的服务器以外的其它机器3在浏览器中加载一个Applet,功能是显示一个字符串“ThisisaJavaApplet!”importjava.awt.Graphics;importjavax.swing.JApplet;publicclassEx9_1extendsJApplet{publicvoidpaint(Graphicsg){//重载JApplet类的paint方法//参数是Graphics类的对象,是由浏览器传递过来的super.paint(g);//调用其超类JApplet类的paint方法g.drawString("ThisisaJ
3、avaApplet!",25,25);}}9.1Applet概述(续)——例9_1Applet概述4在NetBeansIDE中运行9.1Applet概述(续)——例9_1运行结果Applet概述5编译ex9_1.java产生字节码文件ex9_1.class。接下来就需要编写一个HTML文件ex9_1.html来嵌入ex9_1.class将ex9_1.html文件和Ex9_1.class文件放在同一个目录下。现在,在浏览器中打开这个HT
4、ML文件,当浏览器遇到Applet标记时,就会自动载入指定的class文件,就会实现在屏幕上绘制一串字符的效果9.1Applet概述(续)——例9_1运行结果Applet概述69.2Applet应用程序接口JApplet类一个applet程序需要继承javax.swing包中的JApplet类,也可以继承老的AWT组件中的Applet类,JApplet类属于新的Swing组件提供了applet在浏览器中运行需要具备的特定方法浏览器载入时,要依次运行init、start、paint方法离开浏览器页面时,执行stop退出浏览器时,执行destroy提供了所有这些方法的默认实现
5、,所以我们在编写自己的applet时,就可以不必写出全部方法,只要继承这个JApplet,然后重写特定的方法来增加特殊功能79.2Applet应用程序接口方法调用时机和用途publicvoidinit()当浏览器(即Applet容器)载入某个Applet时,容器会自动创建这个Applet类的一个实例,并调用它的init方法Applet应用程序接口8publicvoidstart()init方法执行结束之后,自动调用这个方法。另外,当浏览器用户在访问另一个网址之后重新返回applet所在的HTML页时,将再次调用start方法publicvoidpaint(Graphics
6、g)start方法启动后调用此方法,另外每次需要重绘applet时也将调用该方法。程序通常不直接调用paintpublicvoidrepaint()在响应用户和Applet的交互时经常要用到。通常只是调用,而不重写这个方法。对于轻量级组件,它调用组件的paint方法,对重量级组件它调用组件的update方法,由update调用paintpublicvoidstop()用户离开Applet所在的HTML页时调用该方法,它执行挂起Applet所需的所有任务,例如停止动画和线程publicvoiddestroy()用户关闭浏览器窗口,Applet将从内存中移走的时候调用该方法9
7、.2Applet应用程序接口(续)Applet应用程序接口9importjavax.swing.*;.importjava.awt.*;publicclassHelloSwingAppletextendsJApplet{publicvoidinit(){JLabellabel=newJLabel("YouaresuccessfullyrunningaSwingapplet!");label.setHorizontalAlignment(JLabel.CENTER);label.setBorder(BorderFactory.c
此文档下载收益归作者所有