用Java插件在浏览器中运行Java2 Applet

season留言爱

season留言爱

2016-02-19 16:29

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

  和以前的版本相比,Java 2增加了不少令人难忘的特色。特别是Swing提供的用户界面部件(如表格和树形控制)以及2-D编程接口、JavaBean支持的增强,使得JDK 1.1看起来像一个古董。遗憾的是,没有一个浏览器能够完全支持Java 2,也就是说,那些令人激动的新功能在浏览器上无法运行,甚至还没有一个浏览器宣布在确定的日期内提供对Java 2的支持。在Internet页面上也许没有必要用Java 2,但在LAN环境下不用这些新增功能实在让人觉得可惜。如果你也有这种感觉,不妨使用Java Plug-in(Java 插件)。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  1.基本原理及存在的问题

  本来,Applet的概念相当简单??只要在Web页面中加入一个 APPLET 标记就可以了。浏览器一遇到这个标记,就会下载对应的 Applet类文件,并启动自己的解释器运行这个Applet。在此过程中浏览器担当相当重要的角色,特别是它必需具备运行Java的能力,同时浏览器的虚拟机也决定了可接受的Java代码版本。

  运用Java插件的基本目标是将显示Web页面和运行Java Applet这两个任务分离,浏览器的主要任务是负责各种页面部件(如图片、文本、Applet等)的布局。这种机制Navigator和IE都早就具备,Netscape称之为浏览器插件。

  所谓的插件就是一个能够负责特定页面区域的代码模块。假设某个页面中含QuickTime电影片断,浏览器只需要知道它应该保留的大小,然后就可以将它象图片或其它页面元素一样安排了,页面中该区域的显示则由QuickTime插件代码负责。

  可以将Applet与电影片断同等看待。此时浏览器只需要知道Applet的显示区域大小,就可以像对待其它页面元素一样对待Applet了。而运行Applet的任务则由Java 插件负责。

  在IE中又怎么办呢?IE中的ActiveX也具有完全相似特性:浏览器将页面中某个区域的控制权交给其它代码负责。虽然Netscape叫它插件,Microsoft叫它ActiveX控件,两者名字大不相同,但它们都能够让Web浏览器运行真正的Java 2代码。

  这种方法最大的好处在于,它能够让IE和Navigator使用Sun的Java运行时环境,而不再依赖于浏览器来获得Java支持,更不必关注浏览器支持什么Java版本了。

  但这种方法也存在缺点,主要有以下两个方面:首先,这种运行Applet的方式需要下载和安装Java 插件;其次,一个简单的 APPLET 标记已经不再足够,用插件运行Applet的Web页面需要更多的HTML代码。

  对于第一个问题,既可以从Sun站点(http://java.sun.com/products/plugin/index.html)事先下载和安装插件软件包,如果有Internet连接,也可以让浏览器在遇到 EMBED 或 OBJECT 标记时自动下载。

  标记不同问题稍微复杂一点。虽然Netscape的插件机制和Microsoft的ActiveX技术是非常相似的东西,但在Web页面中调用它们的方法却是完全不同的。Navigator用 EMBED 标记引入插件,IE中起类似功能的标记叫 OBJECT 。

  如果你熟悉HTML且需要引用Java 2 Applet的页面不多,可以手工将 EMBED 标记嵌入到 OBJECT 标记对内部,使得页面在两个浏览器下都可以正常显示。假设要运行的是TestApplet,则通过Java插件运行Applet的HTML代码类如(也就是说,用下面这些代码取代原来的 APPLET 标记):

  

 OBJECT classid=xxx
WIDTH = 350 HEIGHT = 150
codebase="http://java.sun.com/products/plugin
/1.2/jinstall-12-win32.cab#Version=1,2,0,0"
PARAM NAME = CODE VALUE = TestApplet
PARAM NAME="type" VALUE="application/
x-java-applet;version=1.2"
COMMENT
EMBED type="application/x-java-applet;version=1.2"
java_CODE = TestApplet WIDTH =
350 HEIGHT = 150
pluginspage="http://java.sun.com/products/plugin/
1.2/plugin-install.html" NOEMBED /COMMENT
/NOEMBED /EMBED
/OBJECT

  更方便的方法是利用Sun提供的HTML Converter工具,它可以实现 Applet 标记到上述标记的自动转换。如果页面数量较多,使用这个工具尤为值得。HTML Converter可在以下地址下载:

  http://java.sun.com/products/plugin/1.2/converter.html

  2.具体过程示例

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  下面我们通过实例来说明整个过程。假设有下面这个Applet,它用到了Swing,因而需要Java 2支持:

  

import java.awt.*;
public class TestApplet extends javax.swing.JApplet {
private Font mFont = new Font("Serif", Font.PLAIN, 64);
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setPaint(new GradientPaint(0, 0, Color.green,
20, 10, Color.blue, true));
Dimension d = getSize();
g2.fillRect(0, 0, d.width, d.height);
g2.setPaint(Color.red);
g2.setFont(mFont);
g2.drawString("ABCDEFG", 20, 84);
}
}

  下面这个HTML页面使用 APPLET 标记引入TestApplet。在浏览器中该Applet是无法运行的,如果你愿意的话,可以用AppletViewer观察它的运行效果:

  

 html 
head
/head
body
applet code=TestApplet width = 350
height = 150 /applet
/body
/html

  接下来工作就是用HTML Converter将 Applet 标记转换为调用Java 插件的 EMBED 和 OBJECT 标记了。在下载和安装这个工具之后,输入命令 java HTMLConverter即可运行它。此时将出现该程序的主窗口,用法很简单,只需选择转换刚创建的文件即可。转换之后原来的文件将被覆盖(可在独立目录下创建原文件备份)。转换之后就可以运行Java 插件了。在Web服务器或本地打开转换后的页面,如果Java 插件安装正确,就可以看到Applet的运行。虽然整个过程略显麻烦,但对于Java 2所提供的许多新特色来说,这种麻烦又微不足道了。

展开更多 50%)
分享

猜你喜欢

用Java插件在浏览器中运行Java2 Applet

编程语言 网络编程
用Java插件在浏览器中运行Java2 Applet

Java2下Applet数字签名

Java JAVA基础
Java2下Applet数字签名

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java2 RMI 入门

编程语言 网络编程
Java2 RMI 入门

java 写的文件浏览器

编程语言 网络编程
java 写的文件浏览器

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java Applet介绍

编程语言 网络编程
Java Applet介绍

Java入门笔记2_Applet

编程语言 网络编程
Java入门笔记2_Applet

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

怎么让Windows XP能够全自动维护系统

怎么让Windows XP能够全自动维护系统

如何实现Applet之间跨浏览器窗口的通信

如何实现Applet之间跨浏览器窗口的通信
下拉加载更多内容 ↓