什么是 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 browsersfunction myFunction(){//Applet对象var myApp=window.document.applets["JVue"];//打开指定的文件myApp.setFile('http://www.machine.com/jVue/sample/acad12.dwg');//加载所有MarkupsmyApp.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
还没做好

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

  1. [AutoVue开发手册]第二篇——AutoVue之Applet参数列表

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

  2. shell脚本第一篇——自定义创建用户和批量创建用户

    shell脚本第一篇--自定义创建用户和批量创建用户 1.用shell脚本建立Linux用户 # vim /root/user.sh #!/bin/bash #通过脚本自定义创建用户 read -p ...

  3. java ee 6 源码_Java EE 6开发手册·高级篇(第4版)

    资源名称:Java EE 6开发手册·高级篇(第4版) 内容简介: <Java EE 6 开发手册?高级篇(第4 版)>是一本面向实战.以示例为驱动.在Java 平台企业版6(Java E ...

  4. 普元EOS开发积累第一篇(常见错误解决方法) 持续更新

    普元EOS开发积累第一篇(常见错误解决方法) 持续更新 参考文章: (1)普元EOS开发积累第一篇(常见错误解决方法) 持续更新 (2)https://www.cnblogs.com/tangjing ...

  5. Python开发【第一篇】:目录

    本系列博文改编自武沛齐老师的原创博文,主要包含  Python基础.前端开发.Web框架.缓存以及队列等内容 ,用于学习记录成长!!! Python开发[第一篇]:目录 Python开发[第二篇]:初 ...

  6. [转]白话阿里巴巴Java开发手册高级篇

    不久前,阿里巴巴发布了<阿里巴巴Java开发手册>,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结 ...

  7. 【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用

    本文是[.NET Core 跨平台 GUI 开发]系列博文的第一篇.该系列博文是一个关于 Gtk# 跨平台应用开发的初级随笔集合.该随笔集合介绍了 GTK 和 Gtk# 的基本信息以及开发方法,并展示 ...

  8. python django开发工具_利用pyCharm编辑器创建Django项目开发环境-python开发工具第一篇...

    [前置说明] 1.django环境与python对应关系: Django version Python versions 1.11 2.7, 3.4, 3.5, 3.6, 3.7 (added in ...

  9. .net开发笔记(十三) Winform常用开发模式第一篇

    上一篇博客最后我提到"异步编程模型"(APM),之后本来打算整理一下这方面的材料然后总结一下写篇文章与诸位分享,后来在整理的过程中不断的延伸不断地扩展,发现完全偏离了"异 ...

  10. core开发linux桌面应用,【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用...

    本文是[.NET Core 跨平台 GUI 开发]系列博文的第一篇.该系列博文是一个关于 Gtk# 跨平台应用开发的初级随笔集合.该随笔集合介绍了 GTK 和 Gtk# 的基本信息以及开发方法,并展示 ...

最新文章

  1. 六大基本AI术语:如何做好人工智能咨询服务?
  2. ETC核心技术团队CTO空降上海,引领高校区块链技术风潮
  3. Spring JDBC-Spring对事务管理的支持
  4. wxWidgets:wxCollapsiblePane 示例
  5. Linux cp命令:复制文件和目录
  6. Redo丢失的4种情况及处理方法
  7. ssl证书 所属项目怎么上传_Typora + 七牛云图床快速配置,告别手动上传图片!...
  8. 在vue中使用javascript动态修改字符串中某段文字的颜色
  9. linux远程安装和使用
  10. 面向能源效率的云计算
  11. 社区分享|Arm 中国生态技术市场经理教你玩转 TFLite Micro 端云一体解决方案
  12. mescroll使用上拉加载、下拉刷新
  13. 腾讯云弹性MapReduce
  14. 电脑连上手机热点却不能上网
  15. oracle excel vba6,如何在WPS个人Excel表格中启用宏功能来使用VBA
  16. weAdmin(layuiAdmin)
  17. 2D姿势估计论文合集
  18. 从今天开始,每天做一件有意义的事,有进步的事
  19. [洛谷P4118][Ynoi2016]炸脖龙I([洛谷P3934]Nephren Ruq Insania)
  20. Chrome屏蔽Adobe Flash Player 插件的问题

热门文章

  1. OSChina 周六乱弹 ——是不是傻!是不是傻!
  2. LeetCode,无它,唯手熟尔(四)
  3. Electron修改图标
  4. android线控耳机开发,Typec转3.5mm耳机方案带线控SSS1530设计开发(原理图+PCB电路)...
  5. 在Oracle DevGym上学习cx_Oracle的笔记
  6. 计算机界面无法全部显示,电脑屏幕不能完整显示软件界面怎么处理
  7. word2vec与相关应用
  8. Codeforces edu round 61 D-Stressful Training 二分
  9. Datahero inc智能合约技术重塑供应链金融模式
  10. Python批量抓取swissadme数据——smiles