下面的java小应用程序运行的时候总是提示未初始化。求解答 5

importjava.awt.*;importjava.applet.*;publicclassJavaAppletextendsApplet{Imageimg;Imag... import java.awt.*;
import java.applet.*;
public class JavaApplet extends Applet
{
Image img;
Image imgBuff;
Graphics ibg;
int w,h;
int num=0;
double angle;
int wave;
public void init()
{
img=getImage(getCodeBase(),"t1.jpg");//加载图像
MediaTracker imgTrace=new MediaTracker(this);//声明和创建图像追踪器
imgTrace.addImage(img,0);//将加载的图像添加到图像追踪器
try
{
imgTrace.waitForID(0);
}
catch(Exception e)
{
}//使用图像追踪器监视图像的加载过程
w=img.getWidth(this);//获取图像的宽度
h=img.getHeight(this);//获取图像的高度
imgBuff=createImage(2*w,h);//创建缓冲区
ibg=imgBuff.getGraphics();//创建缓冲区画笔
ibg.drawImage(img,0,0,this);//在缓冲区左半部显示图像
for(int i=0;i<h;i++)
{
ibg.copyArea(0,i,w,1,w,(h-1)-2*i);
}
}//用逐线移动的方法,在缓冲区的右半部绘制倒影,i是线号
public void paint(Graphics g)
{
angle=num*2*Math.PI/12;//计算当前帧的相位角
for(int i=0;i<h;i++)
{
wave=(int)((i/12.0+1)*Math.sin(h/12.0*(h-i)/(i+1)+angle));
ibg.copyArea(w,i+wave,w,1,-w,-wave);
}//用逐线移动的方法,在缓冲区的左半部绘制动画帧

num=++num%12;//产生下一帧的帧号
g.drawImage(img,0,0,this);//在Applet窗体上部显示图像
g.drawImage(imgBuff,0,h,this);//在Applet窗体下部显示动画帧
try
{
Thread.sleep(50);
}
catch(Exception e)
{
}//休眠50ms
repaint();
}
public void update(Graphics g)
{
paint(g);
}
}
展开
 我来答
jaket5219999
2011-12-07 · TA获得超过194个赞
知道答主
回答量:246
采纳率:0%
帮助的人:219万
展开全部
未初始化的原因——没找到要加载的图片,只需在代码所在文件夹里放上图片,且图片名为t1,格式为jpg就可以了。
追问
还是不行啊,控制台:java.lang.IllegalArgumentException: Width (-2) and height (-1) cannot be <= 0是怎么回事啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式