在java中可以利用Timer类实现图片循环显示。Timer构造函数如下:
public Timer(int delay,ActionListener listener)
delay,是延迟的毫秒数,listener是监听器实例。实现过delay毫秒,触发一个动作事件。调用start启动定时器。
图片循环显示,利用标签显示图片,过delay毫秒触发一个动作事件,更新标签的图片。
代码如下:
class TimePanel extends JPanel
{
JLabel lab = new JLabel();
Timer t = new Timer(1000,new ActionL());
ImageIcon[] image = new ImageIcon[20];
int index = 0;
public TimePanel()
{
setLayout(new GridLayout(1,1));
add(lab);
for(int i=0;i<image.length;i++)
image[i] = new ImageIcon("img/"+(i+1)+".jpg");
lab.setIcon(image[0]);
t.start();
}
class ActionL implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
index++;
index = index % image.length;
lab.setIcon(image[index]);
}
}
public Dimension getPreferredSize()
{
return new Dimension(500,300);
}
标签初始图片要设置,图片索引要进行取模操作。
还有图片的位置得注意,img图片文件夹和src文件夹是平级的,
里主要是解决问题的思路,供大家参考。
由于水平有限,如果有错误,请大家多多指导,提高水平,共同学习。