更好的Applet體驗(yàn):定制加載時(shí)畫面
本文是Joshua Marinacci的系列博客A Better Applet Experience中的第一篇,介紹了如何定制加載Applet時(shí)使用的畫面。(2008.10.30最后更新)你可能已經(jīng)聽說了Java SE 6 Update 10應(yīng)當(dāng)會(huì)改進(jìn)Applet體驗(yàn)。你可能已經(jīng)看過一些可在瀏覽器中拖拽的Applet示例,但還有比那更多的東西。在本博客系列中,我將向你展示如何在發(fā)布Applet時(shí)獲得盡量多的東西,縱使你不使用Update 10。
擺脫咖啡杯圖標(biāo)
很多人抱怨的第一件事情就是加載Java Applet時(shí)使用的咖啡杯圖標(biāo)。根據(jù)你具體使用的OS和JVM版本,這個(gè)圖標(biāo)是不同的,但它看起來總是像下圖那樣。

有很多理由可以認(rèn)為這會(huì)困擾到應(yīng)用程序開發(fā)者,包括不能為他們自己的軟件標(biāo)注品牌,破壞應(yīng)用的視覺觀感,濫用橘黃色。這些都是正確的批評(píng)。但在這兒我要告訴你,無須遵循這種方式。這個(gè)橘黃色的圖標(biāo)只是一種默認(rèn)的方式罷了。你輕易就能,也應(yīng)該將加載畫面所使用的圖片改成與你網(wǎng)站的其它部分相適應(yīng)的圖片。
在Java SE 6 Update 10出現(xiàn)的很長時(shí)間之前,Applet插件就已經(jīng)支持在加載畫面中使用定制圖片了。只需設(shè)置Applet的image參數(shù)就可以了。就是這么簡(jiǎn)單!這兒就有一個(gè)例子:
<applet code="animatedstartup.MainApplet"
archive="AnimatedStartup.jar"
width="100" height="100"
>
<PARAM name="image" value="earth.gif"/>
<PARAM name="boxmessage" value="loading
"/>
<PARAM name="boxborder" value="false"/>
</applet>
image參數(shù)將設(shè)置一個(gè)加載時(shí)圖片。Update 10還支持添加加載時(shí)信息,以及不繪制Applet的邊框,但image是比較重要的一個(gè)參數(shù)。上面這個(gè)例子看起來就像下面這樣:archive="AnimatedStartup.jar"
width="100" height="100"
>
<PARAM name="image" value="earth.gif"/>
<PARAM name="boxmessage" value="loading

<PARAM name="boxborder" value="false"/>
</applet>
屏幕截圖[1]
制作加載時(shí)動(dòng)畫
Java 6目前支持使用動(dòng)態(tài)圖片以添加加載時(shí)動(dòng)畫。在前面例子中使用的earth.gif圖片文件就正是一個(gè)動(dòng)態(tài)GIF文件。如果你有最新的Applet插件,就會(huì)看到加載時(shí)畫面是動(dòng)態(tài)的。當(dāng)然,你可能想要一個(gè)自旋體的圖片,它更合適些,就如你在這里看到的那樣:你也可以使用一個(gè)更具有指示性的GIF加載圖片,就像這里的圖片那樣[2]。
關(guān)于Applet加載時(shí)畫面的更多內(nèi)容請(qǐng)見發(fā)布文檔的特別屬性一節(jié),以及關(guān)于這個(gè)新插件的說明。
本周就是這些了。在此處你可看到這個(gè)Demo的可運(yùn)行版本。下次我將向你展示,在運(yùn)行一個(gè)Applet之前,如何使用一個(gè)屏幕截圖去替代這個(gè)真實(shí)的Applet。
譯注
[1]原文并未顯示這張圖片。
[2]本句很有些奇怪,此處的兩個(gè)"這里"應(yīng)該指同一個(gè)地址。