[AutoVue开发手册]第一篇——自定义Applet脚本

2020腾讯云10周年活动,优惠非常大!(领取2860元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1040

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

什么是 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开发手册]第二篇——AutoVue之Applet参数列表

[Applet参数形式 第一篇在本系列文第一篇中,我们知道可以通过H5参数的形式,对AutoVue控件进行设置,其具体的形式如下:<PARAM NAME= VALUE=>参数列表及其详解 参数名

当我们将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
还没做好

推荐:自定义组件系列---第一篇

[效果图:代码:import android.content.Context;import android.content.res.TypedArray;import android.graphics.drawable.Drawable;import android.util.AttributeSet;i

相关推荐