什么是 Applet?
Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML页中,与在页中包含图像的方式大致相同。 |
含有Applet的网页的HTML文件代码中部带有 <applet> 和 </applet> 这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
引入 AutoVue Web Version
AutoVue Web Version (详情)在页面的引用也是通过 <applet></applet> 标签来完成,具体代码如下(AutoVue的安装和服务器搭建过程省略):
<!--AutoVue引入开始-->
<Applet
<!--NAME不是必须的,但是最好给上-->
NAME="JVue"
<!--后台JAVA代码中,Applet类名,不需要更改-->
CODE="com.cimmetry.jvue.JVue"
<!--这个属性定义了服务器中jvue.jar、jlogl.jar以及gluegen-rt.jar文件的位置,浏览器将会在这个位置下载这些文件。一般服务器搭建好了之后,这个属性会自动生成,不需要我们手动更改-->
CODEBASE="http://www.webserver.com/jVue"
<!--需要的jar包的名称,不需要更改-->
ARCHIVE="jvue.jar,jogl.jar,gluegen-rt.jar"
<!--可选的定义大小的参数-->
HSPACE="0" VSPACE="0"
WIDTH="100%" HEIGHT="100%"
<!--MAYSCRIPT参数是必须的,它允许Applet对浏览器的session进行读写-->
MAYSCRIPT>
<!--EMBEDDED参数,设置是否将Applet嵌入到网页中,true代表嵌入,false代表不嵌入,将会在独立的窗口中显示-->
<PARAM NAME="EMBEDDED" VALUE="false">
<!--VERBOSE参数是可选的,当设为true的时候,Applet的运行时诊断结果将会输出在浏览器的Java控制台中-->
<PARAM NAME="EMBEDDED" VALUE="false">
<!--FILENAME参数,设置Applet打开的时候默认打开的文件,如果为空,则不打开任何文件-->
<PARAM NAME="EMBEDDED" VALUE="http://www.webserver.com/jVue/samples/acad12.dwg">
<!--JVUESERVER参数,AutoVue服务器地址列表,用分号分隔-->
<PARAM NAME="JVUESERVER" VALUE="socket://www.jvuesever.com:5099;http://www.webserver.com/
servlet/VueServlet">
<!--浏览器不支持Java时的报错信息-->
<p><b>Requires a browser that supports Java.</b></p>
<PARAM NAME="COLLABORATION" VALUE="INIT:CSI_ClbSessionID=987654321;CSI_ClbDMS=dmsIndex;CSI_ClbSessionData=123456789;CSI_ClbSessionSubject=Subject;CSI_ClbSessionType=public|private;CSI_ClbUsers=user1,user2,...">
</Applet>
<!--AutoVue引入结束-->
基于AutoVue编写JS脚本
当我们将AutoVue插件集成在网页中的时候,我们可以通过JavaScript来访问JVue类中的所有公共API。 |
常用的函数方法
方法 | 注释 |
---|---|
createMobilePack (MobilrPackOptions opts) | 根据特定的参数,生成移动包 |
setFile (String url) | 设置将要在AutoVue中浏览的文件 |
setCompareFile (String url) | 切换到对比模式,并且将当前文件和指定文件进行对比 |
setDMSArg (String name,String value) | 对DMSARGS列表中的参数进行增删改操作 |
addOverlay (String url) | 将指定的文件添加为当前文件的覆盖层 |
printFile (PrintProperties pProps) | 用指定的options来打印当前文件 |
printFile (PrintProperties pProps, boolean UseDefaultPrinter) | 用指定的options来打印当前文件,根据UseDefaultPrinter参数来决定是否提示选择打印机 |
setMarkupMode (boolean enterMarkupMode) | 进入或者退出Markup模式 |
openMarkup (String markupID) | 打开指定的Markup,如果markupID==”*”,那么所有与当前文档相关的Markup都会被加载。如果打开本地的Markup,将markupID设为”CSI_DocName=markupName“。如果要打开与DMAPI集成的Markup,将markupID设为”CSI_DocID=markupID“. |
collaborationInit (String sessionProperties) | 初始化协作模式的session。sessionProperties-描述协作模式session的字符串,格式同上面的COLLABORATION参数. |
collaborationJoin (String sessionProperties) | 在中途加入协作session。sessionProperties-描述协作模式session的字符串,格式同上面的COLLABORATION参数. |
collaborationEnd (String sessionProperties) | 结束当前的协作session。 |
corssProbe (String fileName) | 将指定文件加入到cross-probed文件列表中 |
closeDocument () | 关闭当前文件 |
import3DFile (String fileName, HMatrix transform) | 根据指定的文件名和transformation引入3D文件 |
setGUI (String guiFile) | 根据指定的GUI文件名,设置GUI. |
setPage (int page) | 根据指定的GUI文件名,设置GUI. |
waitForlastMethod () | 暂停当前线程,知道最后调用的函数执行完毕 |
syncMobilePack (MobilePackOptions opts) | 同步Mobile包 |
想要了解其余的公共方法的详细信息,可以访问AutoVue安装路径下的"JavaDocs"文件夹,里面的文件有详细资料。
JS脚本Demo
Demo1
利用ONINIT参数,来自动加载文件,同时加载所有相关的Markups,然后打印结果。 |
<!--这是自定义的JavaScript函数,用来调用AutoVue的API的-->
<script>
<!--Hide script from old browsers
function myFunction(){
//Applet对象
var myApp=window.document.applets["JVue"];
//打开指定的文件
myApp.setFile('http://www.machine.com/jVue/sample/acad12.dwg');
//加载所有Markups
myApp.openMarkup('*');
//创建一个PrintProperties类
var pPropsClass=myApp.getClass("com.cimmerty.common.PrintProperties");
//实例化PrintProperties类
var pProps=pPropsClass.newInstance();
//为用户加载个人设置
pProps.setProfile(myApp.getActiveVueBean().getProfile());
//设置Header文本
pProps.getHeaders().setTopCenterText("My Header");
//设置 适应页面 参数(PrintOptions.SCALING_FIT==0)
pProps.getOptions().setScaling(0);
//打印文本周边区域
pProps.getOptions().setArea(0);
//用默认打印机打印文档
myApp.printFile(pProps,true);
//更多...
}
-->
</script>
<!--这是Html部分-->
<!--引入AutoVue开始-->
<APPLET
NAME="JVue"
CODE="com.cimmetry.jvue.JVue.class"
CODEBASE="http://www.webserver.com/JVue.class"
ARCHIVE="jvue.jar;jogl.jar;gluegen-rt.jar"
HSPACE="0" VSPACE="0" WIDTH="100%" HEIGHT="100%"
MYSCRIPT>
<PARAM NAME="EMBEDDED" VALUE="true">
<PARAM NAME="VERBOSE" VALUE="false">
<PARAM NAME="ONINT" VALUE="myFunction();">
<PARAM NAME="JVUESERVER" VALUE="__SERVLETHOST__">
<p><b>Requires a browser that supports Java.</b></p>
</APPLET>
<!--引入AutoVue结束-->
Demo2
还没做好