深入了解Applet:学习要点、基础与多方面运用全解析
成员共享“ Javaapplet知识点解释.ppt”,可以在线阅读。有关更多相关的“ Javaapplet知识点说明.ppt(收集的32页)”,请在线搜索。

2020/5/1119:30,1,第8章Applet,计算机学校计算机学校武汉大学计算机学校的应用系,2020/5/119:30,第2页,第2页,深度了解主要方法和特征小程序生命周期,精通Applet程序编写方法的APPLET程序,以深入了解Applet的安全机制及其合理使用诸如Applet和Multimedia,Multimedia和其他功能的综合功能的合理使用。 (Javaapplet)是用Java语言编写的代码,可以在浏览器环境中运行。 applet和应用程序之间的主要区别在于它们的执行方法是不同的:从其主()方法开始,应用程序直接通过命令行命令运行。如果是图形接口,则基于帧,也可以继承或不继承任何类。 applet在浏览器中运行。首先,您必须创建一个HTML文件。如何运行。每个小程序必须通过扩展Java的小程序类来实现。所有小程序必须以以下格式声明:classAppletNameextendSapplet {...},2020/5/1119:30,第4、1页,第4、1页,applet Small Application Basic,Web浏览器为Applet提供JVM,这也是一个重要的安全措施。
,限制小型应用程序,2020/5/119:30,第5、8.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 applet类的定义为:public class classappletextextextextextextextextextextspanel {// constructorpublicapplet() )publicVoidStop()publicUrlgetCodeBase()public“)变量使用applet的构造函数创建applet类示例。此类包括多个实例变量。表8.1给出了applet类的实例变量和含义。表8.12。 Applet类的成员方法提供了非常丰富的成员方法。 ,start(),stop()和destion()。
调用applet时,浏览器将自动调用这4种方法。这四种方法的行为构成了小程序的生命周期,即,小程序的生命周期由四个过程组成,包括初始化,启动,停止操作和清洁的撤销。 ,2020/5/1119:30,第8、8.1.2页的生命周期,Applet的生命周期,2020/5/1119:30,p。 9,2。Applet操作控制,Applet()方法中的Applet()中没有Main()。当小程序通过浏览器运行时,它会自动执行:init()方法:init()方法:初始化,自动调用,仅执行一次。此方法主要完成某些无法在applet构造器中完成的任务。 start()方法:初始化之后,重新输入等,将自动调用。此方法是Applet的主体,可以执行某些任务或启动相关线程以执行任务。 stop()方法:离开小程序所在的页面时呼叫以停止消耗系统资源。 DESTICT()方法:关闭时自动调用浏览器以删除Applet使用的所有资源。 [示例8.1]一个包含4种主要方法的小程序。 ,2020/5/1119:30,第10、8.1.3页独立应用程序和小程序转换,请按照以下步骤操作。更改以扩展小程序。
由于init()方法是applet的标准入口,因此构造函数重命名为publicVoidIdinit(),在原始构造方法中删除了超级类方法的呼叫,以及show()和pack()方法的调用。删除标准主()方法。删除对系统的所有呼叫。EXEST方法,因为不允许小程序调用此方法。如有必要,请介绍publicVoidStart()方法和publicVoidStop()方法,以确保在看不见时不会占据系统资源(当用户访问其他网页时)。 ,2020/5/1119:30,第11、2页。Applet的操作控制,[示例8.2]示例5.4创建一个带有两个按钮的独立应用程序。现在,该程序已转换为一个小程序,并在Web中执行浏览器中的这个小程序。实现此小程序时,它涵盖了start()和stop()方法以显示其他文本。此示例可以使用上述转换方法进行程序转换。转换程序代码对应于HTML文件,2020/5/1119:30,Page 12,importJav A.Applet。*; importjava.awt。*; bliCStrings; publicVoidInit()(){s = newstring(“ helloworld!”);} publicVoidPaint(graphicsg){G.DrawString(s,25,25);}},helloworld,8.2 mark,请参阅一个简单的示例:2020/55 /1119:30,p。 13,8.2.1标签属性,在html中使用applet,[] [] ... [备用html],2020/5/1119:30,p。 14,8.2.1标记属性,存档属性,存档=存档师[file1,file2,...]给出了applet类的文件名和运行时所需的类。
codebase = codebaseurl指示applet文件所在的URL群,并且getCodeBase()方法可以获取属性。如果此属性未指示,则applet文件必须与包含其HTML页面的HTML页面相同的位置。 GetCodeBase()方法返回的值与GetDocumentBase()的值相同。 code = appletFile指示需要运行的applet文件(.class文件)(.class file)名称= appletinstancename给出了applet类的实例名称,该名称可以在同一页面中的不同applet之间启用不同的小程序。 GetAppletContext()方法可以在同一页面上获取其他Applet类。 ,2020/5/1119:30,Page 15,8.2.1 TAG属性,Alt = necterateText如果浏览器支持Applet但无法运行它,它将显示externAteTeText中给出的文本;否则将被忽略。宽度= PixelSheight = PixelsApplet高度和浏览器中显示的宽度(以像素为单位)。 Align = AlignmentApplet显示在浏览器中,其含义和效果与HTML中的图片相同。
它的值为:左,右,顶部,文本,米德,赤摩,基线,底部,absbottom。 vspace = pixelSpace = pixelsapplet在浏览器中显示上下显示,左和向右显示,效果和效果与HTML中的图片相同。 ,2020/5/1119:30,第16页,8.2.1标记属性,2020/5/1119:30,第17页,8.2.2利用标记参数向applet = paramname = appletParameter1Value = value = applet可以从页面获取所需的参数。 applet可以使用getParameter()方法获得属性指定的参数。属性的作用与应用程序中的main()方法中参数stringargs []的作用相同。一个好的小应用程序应为可以设置外部参数功能的用户提供,以便用户可以根据自己的需求应用它。 GetParameToRInfo()方法可以获得有关属性的说明信息。两个步骤:在applet类中的页面中设置applet参数:s1 = getParameter(“ p1”); 1020/5/1119:30,p。 18,8.2.2将信息传递给applet参数,publicClassappletParaextsapplet {strings1,s2; publicVoidInit(){s1 = getParameter(“ p1”); s2 = getPara meter(“ p2”); ; G.DrawString(S2,10,30);}},AppletParamEtertest ,, 020/5/1119:30,p。 19,8.3.1applet和图形用户界面(GUI),applet是面板(窗格),因为applet是面板类的子类,因此它继承了默认布局Manager flowlayout,它可以像任何面板一样包含其他组件。
因此,很容易将组件添加到小程序中,并使用布局来控制这些组件在屏幕上的位置。这是几种常用的方法:add()添加指定的组件。删除()删除指定的组件。 SetLayout()设置布局管理。使用SetLayout()方法,您可以使用灵活的布局管理器,例如AWT提供的GridBaglayout和BorderLayout类。作为一个面板对象,Applet还可以共享绘画方法和事件层,2020/5/1119:30,Page 20,8.3.1applet和图形用户界面(GUI),可以通过appletgetImage()方法提供加载的方法映像applet类。一种方便的getimage形式允许将URL指定为变量元素,然后进行第二个更改,以指示与此URL相关的图像文件的位置。大多数小程序使用其getCodeBase()和getDocumentBase()方法获取URL。 Applet类及其数据文件与Applet类一起加载,并且可以通过网络安装他们使用的数据文件。通过网络加载需要一定时间。为了减少小程序显示的开始时间,小程序子类可以首先显示状态消息,让用户知道该信息正在加载。如果不需要立即使用某些小程序类或数据,则此小程序可以将这些类和数据提前放入背景线程中。
,2020/5/1119:30,Page 21,8.3.2 Applet和线程,每个小程序都可以在多线程中运行。 Applet的绘图方法(paint()和update())始终通过AWT图形和事件处理线程来调用。该线程根据浏览器运行的applet执行applet(init(),start(),star(),stop(),stop()和destion())的生命周期方法。许多浏览器为网页上的每个小程序分配一个线程,并使用线程调用此小程序周期方法。一些浏览器为每个小程序分配一组线程,因此很容易找到属于特定小程序的所有线程。即使浏览器为每个小程序设置一个不同的线程,在编写小程序时,您仍然应该在任何时间耗尽的任务中构建线程。这样,一个小程序可以在等待时间累累的任务时执行其他任务。 ,2020/5/1119:30,p。 22,8.3.3Applet编程技术,如果图像的图像为gif或jpeg格式,并且用户也知道其文件或URL,则可以使用applet或toolkit中的getImage()方法。 Applet类提供两种方法:publicImageGetImage(urlurl)publicImageGetimage(urlurl,stringName)。 timage(getCodeBase(),“ imagefile1.gif”)imageImage2 = getImage(getDocumentBase(),“ imagefile2.gif”)imageImage3 = getImage(newurl(“,2020/5/1119:30) StringFileName)为了获得工具包对象,您可以使用Toolkit的getDefulToolKit()方法或使用组件getToolKit()方法返回工具箱对象。
以下是使用toolkit.getImage()方法的一些示例:toolkittoolKit = toolkit.getDefau lttoolkit(); imageImage1 = toolkit.getImage(“ imagefile1.gif”)Imagon eimage2 = toolkit.getImage(newurl(“,”,2020/5/1119:30,第24页,第24页,applet示例,在下面显示代码行,图像是显示图像的图像在组件区域的左上角:G.DrawImage(90,0)从起点,宽300像素的图像,高62像素:G.DrawImage(image2,90,0,300,62) ;绘制一个小程序是一个容器(容器)。我们首先定义一个要命名为doodle的小程序类(随机绘制),在其init()方法中添加绘画板组件。
在init()方法中,标签组件还添加到此小程序中,这表明这是使用鼠标的绘画板。同时,添加了一个清晰的按钮以清除绘画板的图形。示例8.9该绘画板上的绘画主要使用鼠标事件Mouseevent获得鼠标坐标点作为上点(lastx,last),然后在鼠标拖动期间,在点之间绘制线,然后将当前坐标点作为上一个点(lastx,lasty)。重复此过程以实现绘图。 ,2020/5/1119:30,第26页,小程序示例,更容易删除图纸区域。只要您绘制一个大矩形,覆盖了该画布绘图板上的整个绘画板。同时,我们必须注意,我们没有显着定义该绘画板的油漆()方法。本质在获得对此图形对象的引用后,您可以轻松地使用MousedRagged()和clear()方法中图形图形对象的基本图形方法来绘制图形。 ,2020/5/1119:30,p。 27,8.4使用appletViewer来调试applet,javaapplet浏览器是指所有可以运行包含applet的HTML文件的软件系统。
Hotjava,NetScapenAvigator和Microsoftinternetexplorer和其他支持Java的网络浏览器是Applet浏览器,Javaapplet可以在其中运行。 AppletViewer是一个Java应用程序,它允许用户在不使用网络浏览器的情况下运行Javaapplet。但是AppletViewer只是一个小程序浏览器。 HTML文件中的其他内容将不会显示。因为它忽略了标签以外的所有文档。使用此程序,在命令行中输入命令:appletViewerFilename.html这是一个HTML文件,其中包含包含标记和applet的文件名。 ,2020/5/1119:30,p。 28,8.4使用appletviewer进行调试applet,因为appletViewer可以忽略标签以外的所有文档。当我们调试此程序时,我们可以将上述标签放入。相应小程序的Java文件。然后添加评论符号。在此示例中,您可以将以下两行添加到addmachine.java文件://///这不仅可以影响applet程序的编译,还可以避免使用额外的HTML文件。
当您使用appletViewer调试此applet时,您可以直接运行以下命令:appletviewrandingmachine.java将更方便调试applet。 ,2020/5/1119:30,p。 29,8.4使用appletViewer调试applet,[示例8.10]创建一个可以添加和减去用户输入值的小程序,然后显示结果。并使用appletViewer测试此小程序,然后将其放入支持Java的浏览器中以执行此小程序。为了完成该计算机,需要创建两个按钮,一个添加一个按钮,另一个被减去。值的输入,加法和减法的结果分别显示在两个文本域中。另外,需要一个重置按钮。因此,该类的三个要素是:“ IS”:Applet和ActionListener; “有”:3个按钮,2个文本域和1个变量域; “ di diin”:INIT()方法初始化加法和减去减去的添加和减法操作的方法已完成; RESET()方法完成重新设计; ActionPerformed()方法确定事件响应时应完成的操作。 ,2020/5/1119:30,p。 30、7.5微型,小程序程序在浏览器中运行。每个applet程序必须在Java.Applet软件包中继承Applet类。
小程序主要包括4种方法:init(),start(),stop(),destion()生命周期方法。其中的。根据该应用程序,用户还可以在Applet程序中定义其他方法或其他类,但无法自动执行。他们可以在Applet的主要方法中建立对象或调用其他方法。有时需要实现小程序,因为这不能阻止浏览器中其他程序的执行,并且该applet的汇编必须实现可运行的接口。还有一件事要清楚,一个小程序是面板和容器。因此,您可以将所有GUI组件添加到小程序中,以绘制和完成其他多媒体功能。 ,2020/5/1119:30,第31页,2.9小结,applet主类,init(),start(),paint(),stop(),destion(),自定义方法,,,,,,,启动小程序后,第一个执行,然后执行INIT()之后的初始化。该程序的主要代码在这里编写。它可以省略。关闭浏览器时,可以省略并重写。它不能自动执行。可以通过前三种方法调用。 = newClasses()myClass.method1();,。