成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

下一代Java Applet插件技術第二部分

開發 后端
本文是下一代Java Applet插件技術的第一部分,講到了Java applet,插件技術的兼容性,需要注意的問題和結論。

Java Applet運行的就像一個由Java Web Start啟動的應用。參數jnlp_href在Web頁面和Java Applet的JNLP描述之間起到了橋接的作用。在如寬度與高度這樣的特定方面,Applet標簽與JNLP文件具有重疊的機制。

一般地,你應該使用Deployment Toolkit,這也是一個出現在Java SE 6 Update 10中的新工具,它能自動地為Applet標簽生成HTML。部署建議指南展示了如何使用Deployment Toolkit簡便地發布Applet。

兼容性

現在可更容易維護向后兼容性。你可創建運行在更早Java插件版本上的程序,但僅需提供一個與jnlp_href參數一樣的格式完整的<applet>標簽就可使用這些新特性了。早期版本的JRE會忽略jnlp_href參數,轉而使用<applet>標簽。新的Java插件技術將忽略archive和code參數,而僅使用JNLP文件去啟動Applet。

  World Wind Applet示例

由World Wind Java開發組創建的NASA World Wind Java Applet示例闡述了如果發布像NASA World Wind Java這樣的領先類庫。同樣地,也用示例說明了如何使用JavaScript在Web頁面中高效地整合HTML和Applet內容。

 

NASA World Wind Applet

  Figure 2. NASA World Wind Applet

該Web頁面包含了關于喀斯喀特山脈的信息(要感謝維基百科),并且將World Wind Java作為一個Applet嵌入其中,以圖示該山脈中各山的位置。

  1. <applet id="wwjApplet" width=600 height=380                
  2.     code="gov.nasa.worldwind.examples.applet.WWJApplet"                
  3.     archive="BackwardCompatibility.jar">   
  4.     <param name="jnlp_href" value="WWJApplet.jnlp">        
  5. </applet>  

 WWJApplet隨標準的World Wind Java發行包發布。如下所述,你可選擇編寫你自己的Applet類并將World Wind嵌入其中:

下面是WWJApplet.jnlp文件中相關的部分:

  1. <jnlp href="WWJApplet.jnlp">   
  2. <resources os="Windows">            
  3. <property name="sun.java2d.noddraw" value="true"/>          
  4. </resources>          
  5. <resources>            
  6. <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>            
  7. <jar href="worldwind.jar" main="true" />            
  8. <extension name="jogl"               
  9.  href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp" />          
  10. </resources>          
  11. <applet-descname="WWJ Applet"              
  12.     main-class="gov.nasa.worldwind.examples.applet.WWJApplet"              
  13.     <!-- Overwritten by the surrounding web page -->              
  14.     width="100"               
  15.     height="100">          
  16. </applet-desc>        
  17. </jnlp>  

注意幾點:

在本例中,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進行交互并將其導向合適的山峰。下面是這些鏈接中的一個:

  1. <a href="javascript:gotoLocation(MOUNT_RAINIER);">Mount Rainier</a>   
  2.     (southeast of Tacoma, Washington)   

當點擊該鏈接后,將會調用JavaScript函數gotoLocation。該函數定義在同一個Web頁面中:

  1. function gotoLocation(locationString) {   
  2.     var params = locationString.split(';');   
  3.     if(params.length == 3)  // Lat/lon   
  4.     getWWJApplet().gotoLatLon(parseFloat(params[1]),   
  5.     parseFloat(params[2]));   
  6.        
  7. }  

Web頁面HTML中的山峰位置將被解碼為JavaScript字符串。將從這些字符串中解析出緯度,經度及其它視覺信息,并將它們傳遞給Applet。 gotoLatLon方法是在WWJApplet類中定義的;上面的方法調用將起動一個JavaScript-to-Java調用,把參數從JavaScript引擎傳給Java。World Wind Applet接收該通知,并將視點以動畫的方式切換到適當的地方。注意,gotoLatLon方法會迅速地返回,以便瀏覽器不必等待它的完成;該動畫會在一個單獨的Java線程中運行。

 

World Wind Applet with Mount St. Helen

  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"/>     
<extension 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最新信息的有用資源。

class MyWWJApplet extends WWJApplet {}


將World Wind作為一個擴展使用就意味著你不能將WWJApplet直接作為你的main-class使用。由于JNLP文件格式的語義,主jar (main="true")必須定義在主JNLP文件中。但很容易就能適應該限制,你可簡單地創建你自己的WWJApplet子類(稱之為MyWWJApplet),而它并不做任何事情:

將worldwind.jar置于classpath中,并編譯上述類,然后將該類放入它自己的jar文件中。引入這個jar作為你的主jar,MyWWJApplet就成為了你的main-class,然后將其作為JNLP擴展引入到World Wind中。

結論

介紹了Java插件對JNLP的支持,這為Applet的發布提供了很多新的可能,這對在瀏覽器內外發布Java內容的方法的統一又進了一大步。Applet自從它們起始已過了很長的時間,現在隨著對JNLP的支持,它們會比以往更快,也更易于定制。

 

【編輯推薦】

  1. 20個開發人員非常有用的Java功能代碼
  2. 走進Java 7中的模塊系統
  3. JavaFX 1.2 已經發布 主要新功能一覽
  4. 2009年十大Java技術解決方案
  5. 下一代Java Applet插件技術第一部分
責任編輯:仲衡 來源: CSDN博客
相關推薦

2009-06-15 13:32:18

Java applet插件

2019-04-11 10:50:26

前端JavaScript開發

2009-06-11 15:38:00

Java隨機數

2013-09-17 09:45:55

編程

2013-12-13 13:16:42

LinuxLinux面試題

2009-06-12 10:48:33

Java Date

2009-06-09 15:00:51

Javascript表單驗證

2009-08-24 17:18:36

下一代網絡三網融合廣電網絡

2009-06-12 10:18:59

StaticJava

2013-05-28 13:44:01

Java下一代

2013-05-28 14:02:22

GroovyScala語言

2013-07-27 21:28:44

2015-06-17 11:33:58

數據中心模塊化

2013-04-08 16:16:59

Backbone.jsCRUD

2025-04-24 01:10:00

RAGAI人工智能

2013-10-11 14:29:44

Java開發

2013-06-27 11:21:17

2009-10-29 17:05:57

無線接入技術

2014-12-01 17:20:20

2010-09-01 17:05:04

無線網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 视频一二三区 | 在线不卡一区 | 国产日韩一区二区三免费高清 | 在线免费av电影 | h在线免费观看 | 国产成人精品区一区二区不卡 | 天堂中文在线观看 | 日韩亚洲视频在线 | 精品1区 | 久久午夜剧场 | 羞羞视频在线观看 | 久草成人 | 一区二区三区不卡视频 | 亚洲精品视频播放 | 在线播放中文字幕 | www.国产一区 | 一区二区三区精品视频 | 精品久久久久久久久久久久久久 | 日韩一区二区福利视频 | 日韩久久久久 | 欧美自拍第一页 | 自拍视频精品 | 91精品国产自产在线老师啪 | 美女天堂 | 亚洲欧美日韩电影 | 国产97视频在线观看 | 久久亚洲一区二区 | 中文字幕在线中文 | 国产午夜av片 | 涩涩片影院| 欧美激情免费在线 | 色综合天天天天做夜夜夜夜做 | 亚洲欧洲视频 | 九色在线| 中文字幕一区二区三区在线观看 | av在线天堂网 | 日韩国产一区二区三区 | 色综合久久久久 | 国产高清一区二区三区 | 蜜桃五月天 | 精品伦精品一区二区三区视频 |