我试图使用Java Swing Timer创建一个循环,不断循环通过一组图像(i1, i2, i3....(n为图像总数)。
每个图像都是完全相同的大小,必须显示在标签上(例如,l1)。
每幅图像显示之间必须有10秒的延迟。
不使用Java TumbleItem applet,我怎么能做到这一点?它似乎太复杂了一个简单的实现,如我的。(在网上申请学校的店面上展示特价海报)。
我愿意以任何其他方式实现这一目标。
非常感谢你的帮助。提前感谢!
我试图创建一个循环使用Java Swing Timer不断循环通过一组图像
当你使用计时器时,你不需要使用循环。当Timer触发时,您只需更改图像。因此,您需要在某个地方保存要显示的图像列表和当前显示图像的索引。
如果不使用Java的TumbleItem applet,我怎么能做到这一点呢?对于像我这样简单的实现来说,这似乎太复杂了
有什么复杂的?它显示一系列的图像,这是接近你想要的。
是的,有一些额外的代码加载图像,不开始动画,直到所有的图像加载。所以你可以很容易地简化代码,不用担心这个。此外,还有一些代码可以从左到右,然后从右到左执行动画。您也不需要这部分代码。此外,还有配置动画速度的代码。你也可以硬编码。
所以如果你从那个例子开始,然后简化代码,你会得到一个简单的解决方案。尝试一下,然后在遇到问题时发布代码。
这很简单。像这样使用计时器:
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
//codehere
}
}, 0, delayInMillis)
Use可以使用整数来指定。
public int image = 1;
在run()函数中,使用它在图像
之间切换。if(image = 1) {
image = 2;
} else if(image = 2) {
image = 3;
} if(image = 3) {
image = 0;
}
现在,无论你在哪里绘制你的图像,使用这个:
if(image == 1) {
//draw first image
} else if(image == 2) {
//draw second image
} else if(image == 3) {
//draw third image
}