java.applet.Applet的网络功能(&

发表于:2007-06-22来源:作者:点击数: 标签:
MediaTracker类 ImageObserver可以有效地监视单个图像,但是面对多个图像我们用 MediaTracker类; 使用非常简单: addImage()来把关心的所有图像都加到MediaTracker控制下:addImage(Image image, int id) 我们所给的id是给每个图像一个标识;实际上是用一组

   
  MediaTracker类
  
  ImageObserver可以有效地监视单个图像,但是面对多个图像我们用
  
  MediaTracker类;
  
  使用非常简单:
  

  addImage()来把关心的所有图像都加到MediaTracker控制下:addImage(Image image, int id)
  
  我们所给的id是给每个图像一个标识;实际上是用一组ID来把不同的图像组成一个图像组;
  
  在使用图像之前可以用checkID()来查看图像是否已经准备好;
  
  一般是当我们调用drawImage()的时候,才会开始加载图像;现在我们有另外的选择:
  
  我们可以在drawImage()之前调用waitForID()来强制加载图像,这样的话,以后有需要时
  
  再drawImage()一点都不迟;
  
  //MeidaTracker在Image被使用前,而ImageObserver的调用发生在Image被使用后;
  
  构造器的说明:
  
  public MediaTracker(Component comp)
  
  comp是我们希望图像显示在其上的组件,通常Panel,Applet,Canvas;
  
  可以经常在定义部件的子类内部调用这个构造器,所以是this;
  
  addImage()的参数ID决定了图像的加载顺序;
  
  addImage()方法并不加载图像,checkID(ID),checkAll()也都不加载图像,只是查看图像的状态;
  
  当调用checkID(ID,true),checkAll(true)的时候,如果返回false,会加载未完成加载的图像;
  
  还会加载图像的方法是waitForID()和wairForAll()方法:
  
  调用这四个方法的时候,开始加载图像,调用线程将被阻塞等待图像的加载;
  
  如果不希望程序阻塞,我们一般可以在独立线程内部调用这些方法;
  
  错误跟踪:
  
  isErrorAny(),is ErrorID(int id)用来返回是否有错;
  Object[] getErrorAnry(),Object[] getErrorID(int id)用来返回错误的对象;
  
  媒体状态:四个常数来指示:
  
  static int ABORTED
  Flag indicating that the downloading of media was aborted.
  static int COMPLETE
  Flag indicating that the downloading of media was completed suclearcase/" target="_blank" >ccessfully.
  static int ERRORED
  Flag indicating that the downloading of media encountered an error.
  static int LOADING
  Flag indicating that media is currently being loaded.
  
  AppletContext类
  
  就象Servlet有个Context一样,Applet也有代表运行此applet的Web浏览器或者
  
  applet阅读器的字段AppletContext类;
  
  Applet的getAudioClip()和getImage()方法只是调用了applet的AppletContext中的相应方法;
  
  可以这样理解,AppletContext其实是Applet中相应方法的镜象;
  
  showDocument(URL url)是个很有用的方法,可以直接打开新的url链接到的页面;
  
  showDocument(URL url,String frameName) frameName的作用和HTML中的target是一样的;

原文转自:http://www.ltesting.net