Applet
Applets用于为Web应用程序提供交互功能,这些功能无法单独由HTML提供。它们可以捕获鼠标输入,并且还具有按钮或复选框等控件。响应于用户动作,小应用程序可以改变提供的图形内容。这使得小程序非常适合演示,可视化和教学。
一个applet也可以只是一个文本区域; 例如,为某些远程系统提供跨平台的命令行界面。如果需要,一个小程序可以离开专用区域并作为单独的窗口运行。然而,applet对applet专用区域之外的网页内容几乎没有任何控制,所以它们对于改善站点外观通常不太有用,而不像其他类型的浏览器扩展。Applets还可以播放本机不受浏览器支持的格式的媒体。以HTML编码的页面可能会在其中嵌入传递给小程序的参数。因此,根据传递的参数,相同的小程序可能会有不同的外观。
Java applet扩展了该类java.applet.Applet
,或者Swing小程序javax.swing.JApplet
。必须重写applet类中的方法以在其内部设置用户界面的类(Applet
)是其后代的Panel
后代Container
。由于小程序是从容器继承的,因此它具有与普通Java应用程序基本相同的用户界面可能性,包括具有用户特定可视化的区域。
以下示例说明了通过java.applet包使用Java小程序。该示例还使用Java Abstract Window Toolkit(AWT)中的类生成消息“ Hello,world! ”作为输出。
import java.applet。* ;
import java.awt。* ;
//“Hello,world!”的Applet代码 例。
//这应该保存在名为“HelloWorld.java”的文件中。
公共 类 HelloWorld 扩展 Applet {
//在屏幕上打印一条消息(x = 20,y = 10)。
public void paint (Graphics g ) {
g 。drawString之(“你好,世界!” , 20 , 10 );
//在屏幕上绘制一个圆圈(x = 40,y = 30)。
g 。drawArc (40 , 30 , 20 , 20 , 0 , 360 );
//在屏幕上绘制一个矩形(x1 = 100,y1 = 100,x2 = 300,y2 = 300)。
g 。drawRect中(100 , 100 , 300 , 300 );
//在屏幕上绘制正方形(x1 = 100,y1 = 100,x2 = 200,y2 = 200)。
g 。drawRect中(100 , 100 , 200 , 200 );
}
}
简单的小程序可以在Internet上自由共享,以定制支持插件的应用程序。
编译完成后,生成的.class文件可以放在Web服务器上,并通过<applet>或<object>标签在HTML页面中调用。
例如:
<!DOCTYPE html>
< html >
< head >
< title > HelloWorld_example.html </ title >
</ head >
< body >
< h1 > Java applet示例</ h1 >
< p >
这里是:
< applet code = “HelloWorld.class” height = “40” width = “200” >
这是HelloWorld.class运行的地方。
</ applet >
</ p >
</ body >
</ html >
当页面被访问时,它将如下所示:
- 一个Java applet示例
- 这里是:你好,世界!
为了尽量减少下载时间,小程序可以以jar文件的形式提供。在这个例子的情况下,如果所有必需的类都放在压缩存档example.jar中,则可以使用以下嵌入代码:
< p >
这里是:
< applet archive = “example.jar” code = “HelloWorld” height = “40” width = “200” >
这是HelloWorld.class运行的地方。
</ applet >
</ p >
与其他客户端Web技术相比,Java小程序可能具有以下缺点:
Java小程序依赖于Java运行时环境(JRE),这是一个相当复杂和重量级的软件包。
它通常还需要Web浏览器的插件。有些组织只允许管理员安装软件。因此,有些用户只能查看足够重要的小程序,以便与管理员联系以请求安装JRE和插件。如果applet需要比系统上可用的更新的JRE或特定的JRE,则第一次运行它的用户需要等待大型JRE下载完成。
大多数浏览器,特别是iOS或Android上的移动浏览器,根本不运行Java小程序。[39]与旧applet
标签不同,object
标签需要解决方法才能编写跨浏览器HTML文档。
屏幕阅读器没有可用的小程序内容。因此,小程序可能会损害具有特殊需求的用户访问网站。
与任何客户端脚本一样,安全限制可能会使不可信任的小程序难以达到预期的目标,甚至不可能达到预期的目标。但是,只需在JAVA JRE安装中编辑java.policy文件,就可以授予对本地文件系统或系统剪贴板的访问权限,或者允许访问除applet提供给浏览器的网络源以外的其他网络源。