`

MediaTracker类

    博客分类:
  • java
阅读更多

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 successfully.
  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是一样的;

分享到:
评论

相关推荐

    Java2游戏编程.pdf

    9.1 使用MediaTracker类来下载内容 9.2 使用图像条进行更快的下载 9.3 创建屏外绘制缓冲器 9.3.1 创建BufferedGraphics类 9.3.2 通过VolatileImage类使用硬件加速 9.4 使用帧速同步来使动画完美 9.5 总结 9.6 练习 ...

    java编程基础,应用与实例

    18.3.5 MediaTracker类 321 18.4 Graphics2D类 323 18.5 几何图形 323 18.5.1 Line2D类 324 18.5.2 Rectangle2D类 324 18.5.3 Ellipse2D类 325 18.5.4 GeneralPath类 326 18.6 渲染属性 327 18.6.1...

    Java在窗口上实现信息提示.rar

    Java在窗口上实现信息提示。在加载图信息窗口上的图片时,用到java.awt 包中的MediaTracker 类。大多数的信息窗口是没有标题栏的,因此信息窗口不能由继承JFrame 类来实现。

    Java信息提示窗口的实现

     在加载图信息窗口上的图片时,用到java.awt 包中的MediaTracker 类。使用该类的好处是可以更好地管理程序中要使用的图片,同时还可以保证图片和界面同时显示,避免了窗口显示后很久才显示图片的缺点。 运行环境:...

    Java获取网页中url的图片资源.rar

    Java获取网页中的图片资源,启动线程,智能解析URL,加载图片资源,显示图片数据,测试时候请用IE打开...本Java例子主要是利用java.awt.MediaTracker 类来跟踪许多不同图像的载入状态并把它们组织为逻辑集。

    Java做的幻灯片

    用Java写的幻灯片播放程序,用到了一个媒体跟踪器类MediaTracker,使用了双缓冲技术来显示图片。

    java实现的动画电子时钟

    用java编程实现,采用MediaTracker来监视图像的加载,压缩包中的图片文件,请与编译后的class文件放在一起,如果用的是eclipse请放在工程文件夹的bin文件夹中

    20-question-guessing-game

    20个猜谜游戏 这是Emma Nguyen 20问题猜谜游戏的自述文件。 集成了新的Java类: java.awt.image.BufferedImage:Image类的子类,该子类描述具有可... 使用MediaTracker预加载从URL,文件名或字节数组创建的图像,以

    Socket聊天室源程序

    * 聊天客户端的主框架类 */ public class ChatClient extends JFrame implements ActionListener{ String ip = "127.0.0.1";//连接到服务端的ip地址 int port = 8888;//连接到服务端的端口号 String userName ...

    飞机大战游戏

    import java.awt.MediaTracker; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.io.File; import ...

Global site tag (gtag.js) - Google Analytics