当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

优化Java Applet的加载历程[Java编程]

赞助商链接



  本文“优化Java Applet的加载历程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

大家知道,在java applet还没有全部加载的时刻,IE或Netscape会在applet对应的区域显示一块灰色的区域.那,您有没有想过用其他的方法替换它呢?

本文介绍了若何操纵JavaScript 实目前加载java applet时刻显示一段消息,比方请稍候之类的话.该段代码可以在IE和Netscape运行.

下面的代码便可以办理这个问题.

<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>

注释:

首先,让我们来看看我们真正想做的是什么. 其实我们只不过但愿把下载java程序历程中的不美观的灰块去掉,以一些消息如正在载入,请稍候之类的画面盖住本来的灰色区域.而一旦java加载完毕,即刻把该区域恢复为applet可见.

上面的javascript代码就是实现了这个目的的一个实例.

下面,让我来逐条注释一下我们是若何实现的.

首先请看以下部份.

<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>

正如您所见到的,我用了2个层,第一个层(id为loading)可以写上一些提醒消息.而第2个层(id为myapplet)在一开始是不可见的.当applet下载好了,即刻把第2个层显示出来,并把第一个层设为不可见.因此,只要这2个层大小,位置必须完好一致.便可以实现我们的目标.

目前我们只差最后一个问题需求办理:若何知道applet已经完好下载了呢?在IE和netscape中都有供应document.all这个属性,当应页面的全部内容(包含applets,图片,声音等)已经下载后该属性为真.好,这样,我们只需监测document.all能否为真,假如是,那便可以把消息所在的层设为不可见,而applet所在的层设为可见,并革新applet的显示(因为先前applet的显示被躲藏了),不然则相反处理.

这是处理后的代码:

<script language="JavaScript">
  function init()
  {
   if (document.all)
   {
    document.all.loading.style.visibility="hidden";
    document.all.myapplet.style.visibility="visible";
    document.applets[0].repaint();
   }
   else
   {
    document.loading.visibility="hide";
    document.myapplet.visibility="visible";
   }
  }
</script>

大功告成.其实,用这个办法一样实用于用含有图片盖住applet直到applet开始运行为止.若何处理,我想聪明的你一定已经知道答案了.


  以上是“优化Java Applet的加载历程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 若何优化JAVA程序筹划和编码,提高JAVA性能
  • 优化Java Applet的加载历程
  • 优化JAVA性能的几种办法
  • 用stack变量优化Java代码
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .