📄 usemediatracker.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);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -