优化Java Applet的加载过程

2016-02-19 16:28 7 1 收藏

下面图老师小编跟大家分享一个简单易学的优化Java Applet的加载过程教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - 编程语言 】

  大家知道,在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

  解释:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  首先,让我们来看看我们真正想做的是什么. 其实我们只不过希望把下载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个层大小,位置必须完全一致。就可以实现我们的目标。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  现在我们只差最后一个问题需要解决:如何知道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开始运行为止。如何处理,我想聪明的你一定已经知道答案了。

来源:http://www.tulaoshi.com/n/20160219/1612201.html

延伸阅读
[文章导读]与用户的交互是Java的主要作用,也正是Java吸引人的原因,用户可以通过鼠标和键盘与Java Applet程序对话 与用户的交互是Java的主要作用,也正是Java吸引人的原因,用户可以通过鼠标与Java Applet程序对话。我们先来看响应鼠标的例子: //Mouse.java import java.awt.*; import java.applet.*; public class Mouse extends App...
  [文章导读]在有些情况下,可能需要在发生某事件时伴之以声音,尢其是在Applet 中装载图像的同时播放声音,这样将大大地丰富Applet的内容 在有些情况下,可能需要在发生某事件时伴之以声音,尢其是在Applet 中装载图像的同时播放声音,这样将大大地丰富Applet的内容。协调使用图像的声音是十分重要的。 声音和图像的协调(Appletl.java) ...
标签: Java JAVA基础
一、在jdk1.2以后,类加载是通过委托来完成的,这意味着如果 ClassLoader 不能找到类,它会请求父代 ClassLoader 来执行此项任务,所有 ClassLoaders 的根是系统 ClassLoader,它会以缺省方式装入类 -- 即,从本地文件系统。今天我们就来探讨一下在jvm中这些机制是怎样运行的。让我们假设有一个class字节码文件(比如Hello.class...
今年9月中旬Borland正式推出了JBuilder 2005,这是去年发布的JBuilderX的升级版,为开发人员提供了更全面的工具以减少Java开发的复杂性并优化软件的性能。JBuilderX获得了开发人员很高的赞誉,然而JBuilder 2005却提供了更强大的性能,它包括了以下方面的改进: 综合管理性能,常规错误代码的检测功能,为增强安全性能提供一种新的安全检测...
标签: Web开发
1、应该将 CSS 放置于结构的上方(一般放置于 head 元素内)。CSS 是解释型语言,Firefox 和 IE 在等待 CSS 传输完成之前不会渲染任何东西。只有将 CSS 前置,才可在浏览器解析结构时,对页面进行渲染。 This causes the blank white screen problem. The page is totally blank until the stylesheet at the bottom is downloaded, on th...

经验教程

389

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部