Welcome

首页 / 软件开发 / JAVA / Cell插件在J2EE系统中的应用

Cell插件在J2EE系统中的应用2009-11-12赵继江摘要:在基于J2EE平台的信息系统中,具有丰富表现能力的Java Applet是界面层的一种重要形式。但Java API对打印的支持比较弱,打印输出复杂的单据和报表需要大量工作。本文介绍的系统通过引入一个ActiveX控件--Cell插件--来解决这个问题。该系统中,由Java Applet完成界面表现,由Cell插件完成打印输出,两者之间通过Sun公司的一套接口API互相通信。

一、Java Applet与Ocx控件的交互

1.1从Java Applet访问Java Script方法和Ocx控件

Sun公司在JDK中提供了一套从Java Applet访问Java Script的API,由此可以实现Java Applet访问HTML页面中的DOM对象的机制。该API以一个Jar文件的形式提供:%JAVA_HOME%jrelibjaws.jar,其中%JAVA_HOME%是你安装JDK的目录。将该jar文件加入到环境变量classpath中,就可以用它实现从Java Applet到Java Script的调用了。下面是一段调用Java Script中的方法的代码实例:

import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
class MyApplet extends Applet {
public void init() {
JSObject win = JSObject.getWindow(this);
JSObject doc = (JSObject) win.getMember("document");
win.call("f", null);
}
}
在上面的代码中,win.call(“f”, null)调用了JavaScript中的方法f()。

1.2从JavaScript访问Java Applet

当使用Java Plugin1.4.x运行Java Applet时,只需把Java Applet中的方法视为Java Plugin这个控件的方法,直接在Java Script中进行调用即可。下面用一个简单的例子进行说明:

(1) 在载入Java Plugin的Object标签中,用参数ID指定一个名字:

<OBJECT ID="MyPlunin" WIDTH=500 HEIGHT=120
CLASSID="CLSID:8AD9C840-044E-11d1-B3E9-00805F499D93">
<PARAM NAME="code" value="MyApplet.class">
...
</OBJECT>

(2) 在HTML页面上增加一个按钮,点击它时从Java Script调用Java Applet中的方法:

<input type="button" name="Button1" value="Start"
onClick="calculate" language="JavaScript">
(3) 假定你的Java Applet是MyApplet.java,它有一个public方法method1(),那么就可以用如下的Java Script代码直接调用该方法:

<SCRIPT language="JavaScript">
function calculate() {
document.. MyPlunin.method1()
}
</SCRIPT>