【发布时间】:2014-10-10 09:41:38
【问题描述】:
我正在尝试在 Applet 上绘制大约 100 张图像。当我这样做时,由于过程太快,我无法查看图像。所以我添加了睡眠功能,以便我可以在从一个图像转换到另一个图像之间暂停。但这工作异常。我看不到任何照片,我认为睡眠一次又一次地被调用。请帮忙。
这是我的代码:
public class Test extends Applet
{
public void init()
{
setSize(1000,1000);
}
public void make(Graphics g,int i)
{
}
public void paint(Graphics g)
{
int i=0;
for(i=0;i<100;i++)
{
if(i!=65)
{
Image img = getImage(getDocumentBase(), "abc"+i+".png");
g.drawImage(img, 0, 0, this);
try
{
Thread.sleep(1000);
}
catch(Exception exception)
{
}
}
}
}
}
现在您可以看到我有从 0 到 99 的图像,我希望它们出现在我的 Applet 窗口中,并且在显示图像后应该有 1 秒的延迟。但这种情况并非如此。请帮忙
【问题讨论】:
-
为什么你捕捉到一个异常而不是打印/处理它?这将隐藏异常,您将不知道是否有意外。尽量避免这种情况,这是不好的做法。
-
对此感到抱歉。我其实是个初学者。将来会照顾好..对我问的事情有什么帮助吗?
-
1) 为什么要编写小程序?如果是由于您的讲师的规范,请参考Why CS teachers should stop teaching Java applets。 2) 为什么使用 AWT 组件而不是 Swing?请参阅 this answer 了解放弃 AWT 的许多充分理由。
标签: java animation applet awt event-dispatch-thread