<script language="JavaScript">
<!-- Hide script from old browsers
function init(){
// Microsoft Internet Explorer
if (document.all){
document.all.loading.style.visibility="hidden";
document.all.myapplet.style.visibility="visible";
document.applets[0].repaint();
}
// Netscape Navigator
else{
document.loading.visibility="hide";
document.myapplet.visibility="visible";
}
}
// -->
</script>
<BODY onLoad="init()">
<div id="loading" style="position:absolute;left:150;top:10;">
Please wait while Java applet loads...
</div>
<div id="myapplet" style="position:absolute;left:150;top:10;visibility:hidden">
<applet code="charts.charts.class" archive="charts.jar" width="600" height="400" codebase="" VIEWASTEXT>
<Param name="xValue" value="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30">
<Param name="yValue" value="22,21,19,23,18,24,28,30,27,22,20,18,16,18,19,16,17,14,12,
13,16,18,19,20,16,17,13,10,14,19,25">
</applet>
</div>
</BODY>
用了2個層,第一個層(id為loading)可以寫上一些提示消息。而第2個層(id為myapplet)在一開始是不可見的。當(dāng)applet下載好了,馬上把第2個層顯示出來,并把第一個層設(shè)為不可見。因此,只要這2個層大小,位置必須完全一致。就可以實(shí)現(xiàn)我們的目標(biāo)。
現(xiàn)在我們只差最后一個問題需要解決:如何知道applet已經(jīng)完全下載了呢?在IE和netscape中都有提供document.all這個屬性,當(dāng)應(yīng)頁面的全部內(nèi)容(包括applets,圖片,聲音等)已經(jīng)下載后該屬性為真。好,這樣,我們只需監(jiān)測document.all是否為真,如果是,那就可以把消息所在的層設(shè)為不可見,而applet所在的層設(shè)為可見,并刷新applet的顯示(因?yàn)橄惹癮pplet的顯示被隱藏了),否則則相反處理。
posted on 2007-01-09 15:22
aaabbb 閱讀(218)
評論(0) 編輯 收藏 所屬分類:
Swing