站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题java图形图像——使用图像追踪

java图形图像——使用图像追踪

摘要: java图形图像——使用图像追踪
java图形图像——使用图像追踪

// 程序:使用图像追踪
// 范例文件:UseMediaTracker.java

import java.net.*;
import java.awt.*;
import java.applet.*;

public class UseMediaTracker extends Applet
{
int AppletWidth,AppletHeight,Ascent,Descent,StringWidth,X,Y;
Image Bg,Ship1,Ship2,Plane1,Plane2;
MediaTracker MT;

public void init()
{
AppletWidth = getSize().width; //取得Applet的显示宽度
AppletHeight = getSize().height; //取得Applet的显示高度

//指定必须取得的图像
Bg = getImage(getDocumentBase(),"Images/1.gif");
Ship1 = getImage(getDocumentBase(),"Images/3.gif");
Ship2 = getImage(getDocumentBase(),"Images/4.gif");
Plane1 = getImage(getDocumentBase(),"Images/5.gif");
Plane2 = getImage(getDocumentBase(),"Images/6.gif");

MT = new MediaTracker(this); //建立MediaTracker类实体

//将必须取得的图像加入追踪清单中
MT.addImage(Bg ,0);
MT.addImage(Ship1 ,0);
MT.addImage(Ship2 ,0);
MT.addImage(Plane1,0);
MT.addImage(Plane2,0);

try
{
showStatus("图像加载中..."); //在状态列显示信息
MT.waitForAll(); //等待所有图像下载
}
catch(InterruptedException E){ }
}

public void paint(Graphics g)
{
//如果图像下载发生任何错误的话...
if((MT.statusAll(false) & MediaTracker.ERRORED) != 0)
{
FontMetrics FM = g.getFontMetrics();

Ascent = FM.getAscent();
Descent = FM.getDescent();
StringWidth = FM.stringWidth("加载图像发生错误...");

X = (AppletWidth - StringWidth) / 2;
Y = (AppletHeight - (Ascent + Descent)) / 2 + Ascent;

setBackground(Color.black); //背景设为黑色
g.setColor(Color.white); //字符串设为白色
g.drawString("加载图像发生错误...",X,Y); //置中显示字符串

return; //结束函数执行
}

//如果正确下载所有图像则将所有图像绘制在Applet中
g.drawImage(Bg ,0,0,320,240,this);
g.drawImage(Ship1 ,20,140,80,80,this);
g.drawImage(Ship2 ,180,140,80,80,this);
g.drawImage(Plane1,30,10,100,100,this);
g.drawImage(Plane2,250,50,50,50,this);
}
}

这个实例主要就是使用MediaTracker类,这各类主要作用是可以得到图片的加载情况。主要代码如下:
MT = new MediaTracker(this); //建立MediaTracker类实体

//将必须取得的图像加入追踪清单中
MT.addImage(Bg ,0);
MT.addImage(Ship1 ,0);
MT.addImage(Ship2 ,0);
MT.addImage(Plane1,0);
MT.addImage(Plane2,0);

try
{
showStatus("图像加载中..."); //在状态列显示信息
MT.waitForAll(); //等待所有图像下载
}
catch(InterruptedException E){ }
}

public void paint(Graphics g)
{
//如果图像下载发生任何错误的话...
if((MT.statusAll(false) & MediaTracker.ERRORED) != 0)




↑返回目录
前一篇: java图形图像——设置图形深度
后一篇: java动画——基本动画