【发布时间】:2015-05-18 20:17:32
【问题描述】:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class slide extends JFrame
{
ImageIcon[] iconArray = new ImageIcon[25];
int iconIndex = 0;
JLabel label;
JPanel panel;
slide ()
{
panel = new JPanel();
label = new JLabel();
add(panel);
setTitle("Slide Show");
panel.add(label);
for(int i = 0; i < iconArray.length; i++)
{
iconArray[i] = new ImageIcon("C:/SlideShow/slide0.jpg");
}
Timer timer = new Timer(1000, new TimerListener());
timer.start();
}
private class TimerListener implements ActionListener
{
public void actionPerformed(ActionEvent actionEvent)
{
label.setIcon(iconArray[iconIndex]);
iconIndex++ ;
if(iconIndex == 25)
iconIndex = 0;
}
}
public static void main(String[] args)
{
slide frame = new slide();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
}
}
知道如何制作幻灯片以显示具有不同 >> 时间间隔的图片吗?例如第一张图片 1 秒,> > 下一张图片 200 毫秒,第三张图片 3 秒等等。 > > > > 非常感谢您的帮助!!!
【问题讨论】:
-
使用Random。
-
是的,但我需要确切的延迟。例如,第一个为 200 毫秒,下一个为 300 毫秒,第三个为 1 秒。如此努力,但到目前为止没有运气。非常感谢。
-
您是否总是想增加时间量?如果是这样,请使用一些数学,例如:
time = currentTime * 2。如果您想要 100ms 的倍数的随机时间量,只需向您的Random询问 1 到 10 之间的值,然后将其乘以 100。如果您能明确您需要什么,那就太好了。
标签: java image timer slideshow slide