日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
下一代Java Applet插件技術(shù)第二部分

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

一般地,你應(yīng)該使用Deployment Toolkit,這也是一個(gè)出現(xiàn)在Java SE 6 Update 10中的新工具,它能自動地為Applet標(biāo)簽生成HTML。部署建議指南展示了如何使用Deployment Toolkit簡便地發(fā)布Applet。

兼容性

現(xiàn)在可更容易維護(hù)向后兼容性。你可創(chuàng)建運(yùn)行在更早Java插件版本上的程序,但僅需提供一個(gè)與jnlp_href參數(shù)一樣的格式完整的標(biāo)簽就可使用這些新特性了。早期版本的JRE會忽略jnlp_href參數(shù),轉(zhuǎn)而使用標(biāo)簽。新的Java插件技術(shù)將忽略archive和code參數(shù),而僅使用JNLP文件去啟動Applet。

World Wind Applet示例

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

Figure 2. NASA World Wind Applet

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

 
 
 
 
  1.     code="gov.nasa.worldwind.examples.applet.WWJApplet"                
  2.     archive="BackwardCompatibility.jar">   
  3.             
  

 WWJApplet隨標(biāo)準(zhǔn)的World Wind Java發(fā)行包發(fā)布。如下所述,你可選擇編寫你自己的Applet類并將World Wind嵌入其中:

下面是WWJApplet.jnlp文件中相關(guān)的部分:

 
 
 
 
  1.    
  2.             
  3.           
  4.           
  5.             
  6.             
  7.             
  8.  href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp" />          
  9.           
  10.     main-class="gov.nasa.worldwind.examples.applet.WWJApplet"              
  11.                   
  12.     width="100"               
  13.     height="100">          
  14.         
  15.   

注意幾點(diǎn):

在本例中,worldwind.jar作為主類使用。理想地,從NASA的網(wǎng)站引用它,將其作為一個(gè)JNLP擴(kuò)展,這就使得許多不同的都嵌入了World Wind的應(yīng)用程序或Applet共享相同的jar文件。詳情請見下面的內(nèi)容。

為了它的硬件加速的3D圖形,World Wind Java使用了針對OpenGL API的Java綁定,JOGL。注意,JOGL JNLP擴(kuò)展僅使用一行代碼與應(yīng)用程序進(jìn)行結(jié)合。也要注意,在Windows平臺上,由于OpenGL API與DirectDraw/Direct3D API(該API用于Windows平臺默認(rèn)的Java 2D實(shí)現(xiàn))之間在驅(qū)動層面的沖突,需要指定系統(tǒng)參數(shù)-Dsun.java2d.noddraw=true。Windows平臺上所有使用JOGL的應(yīng)用程序與Applet程序都需要該系統(tǒng)參數(shù)。

Web頁面中的HTML鏈接調(diào)用JavaScript函數(shù),該函數(shù)會與Applet進(jìn)行交互并將其導(dǎo)向合適的山峰。下面是這些鏈接中的一個(gè):

 
 
 
 
  1. Mount Rainier   
  2.     (southeast of Tacoma, Washington)   

當(dāng)點(diǎn)擊該鏈接后,將會調(diào)用JavaScript函數(shù)gotoLocation。該函數(shù)定義在同一個(gè)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字符串。將從這些字符串中解析出緯度,經(jīng)度及其它視覺信息,并將它們傳遞給Applet。 gotoLatLon方法是在WWJApplet類中定義的;上面的方法調(diào)用將起動一個(gè)JavaScript-to-Java調(diào)用,把參數(shù)從JavaScript引擎?zhèn)鹘oJava。World Wind Applet接收該通知,并將視點(diǎn)以動畫的方式切換到適當(dāng)?shù)牡胤健W⒁?,gotoLatLon方法會迅速地返回,以便瀏覽器不必等待它的完成;該動畫會在一個(gè)單獨(dú)的Java線程中運(yùn)行。

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

如上所述,將World Wind Java集成到你的應(yīng)用程序或Applet程序中的最好方法是將其作為一個(gè)JNLP擴(kuò)展。這允許很多來自網(wǎng)絡(luò)的集成了World Wind Java的應(yīng)用程序或Applet程序能夠共享World Wind代碼資源。為了引用World Wind JNLP擴(kuò)展,你需將下面的語句行加入到你的應(yīng)用程序或Applet程序的JNLP文件中的部分:

     
    href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp"/>

注意,World Wind擴(kuò)展JNLP是區(qū)分版本的,所以你需參考World Wind文檔或訪問論壇去找到你的JNLP會引用到的擴(kuò)展的最新版本。World Wind Central是一個(gè)關(guān)于World Wind最新信息的有用資源。

class MyWWJApplet extends WWJApplet {}

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

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

結(jié)論

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

【編輯推薦】

  1. 20個(gè)開發(fā)人員非常有用的Java功能代碼
  2. 走進(jìn)Java 7中的模塊系統(tǒng)
  3. JavaFX 1.2 已經(jīng)發(fā)布 主要新功能一覽
  4. 2009年十大Java技術(shù)解決方案
  5. 下一代Java Applet插件技術(shù)第一部分

文章題目:下一代Java Applet插件技術(shù)第二部分
網(wǎng)站地址:http://www.5511xx.com/article/coogdeg.html