快速业务通道

下一代Java Applet插件技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
page -->  width="100"  height="100"></applet- desc></jnlp>

下一代Java Applet插件技术(6)

时间:2011-08-18 blogjava Jiangshachina

注意几点:

在本例中,worldwind.jar作为主类使用。理想地,从NASA的网站引用它,将其作为一个JNLP扩展,这 就使得许多不同的都嵌入了World Wind的应用程序或Applet共享相同的jar文件。详情请见下面的内容。

为了它的硬件加速的3D图形,World Wind Java使用了针对OpenGL API的Java绑定,JOGL。注意,JOGL JNLP扩展仅使用一行代码与应用程序进行结合。也要注意,在Windows平台上,由于OpenGL API与 DirectDraw/Direct3D API(该API用于Windows平台默认的Java 2D实现)之间在驱动层面的冲突,需要指定 系统参数-Dsun.java2d.noddraw=true。Windows平台上所有使用JOGL的应用程序与Applet程序都需要该系 统参数。

Web页面中的HTML链接调用JavaScript函数,该函数会与Applet进行交互并将其导向合适的山峰。下面 是这些链接中的一个:

<a href="javascript:gotoLocation(MOUNT_RAINIER);">Mount Rainier</a>  

(southeast of Tacoma, Washington)

当点击该链接后,将会调用JavaScript函数gotoLocation。该函数定义在同一个Web页面中:

function gotoLocation(locationString) {  var params = locationString.split

('';'');  if(params.length == 3) // Lat/lon  getWWJApplet().gotoLatLon

(parseFloat(params[1]),  parseFloat(params[2]));  }

Web页面HTML中的山峰位置将被解码为JavaScript字符串。将从这些字符串中解析出纬度,经度及其它 视觉信息,并将它们传递给Applet。 gotoLatLon方法是在WWJApplet类中定义的;上面的方法调用将起动 一个JavaScript-to-Java调用,把参数从JavaScript引擎传给Java。World Wind Applet接收该通知,并 将视点以动画的方式切换到适当的地方。注意,gotoLatLon方法会迅速地返回,以便浏览器不必等待它的 完成;该动画会在一个单独的Java线程中运行。

下一代Java Applet插件技术 - 编程入门网

Figure 3. World Wind Applet with Mount St. Helen''s Clicked

如上所述,将World Wind Java集成到你的应用程序或Applet程序中的最好方法是将其作为一个JNLP扩 展。这允许很多来自网络的集成了World Wind Java的应用程序或Applet程序能够共享World Wind代码资 源。为了引用World Wind JNLP扩展,你需将下面的语句行加入到你的应用程序或Applet程序的JNLP文件 中的<resources>部分:

<extension name="worldwind" 

href="http://worldwind.arc.nasa.gov/java/0.4.1/webstart/worldwind.jnlp"/><extensio

n name="jogl"  href="http://download.java.net/media/jogl/builds/archive/jsr-231-

webstart-current/jogl.jnlp"/>

注意,World Wind扩展JNLP是区分版本的,所以你需参考World Wind文档或访问论坛去找到你的JNLP 会引用到的扩展的最新版本。World Wind Central是一个关于World Wind最新信息的有用资源。

将World Wind作为一个扩展使用就意味着你不能将WWJApplet直接作为你的main-class使用。由于JNLP 文件格式的语义,主jar (main="true")必须定义在主JNLP文件中。但很容易就能适应该限制,你可简单 地创建你自己的WWJApplet子类(称之为MyWWJApplet),而它并不做任何事情:

class MyWWJApplet extends WWJApplet {}将worldwind.jar置于classpath中,并编译上述类,然后 将该类放入它自己的jar文件中。引入这个jar作为你的主jar,MyWWJApplet就成为了你的main-class,然 后将其作为JNLP扩展引入到World Wind中。

结论

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号