我创造了老虎机游戏。在我的老虎机游戏中,我有一个按钮,按下时会生成三个随机图像。我希望此按钮在按下后5秒生成三个随机图像。这是我的按钮及其动作监听器的代码。
b1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
randomPictureGenerator(evt);
repaint();
}
});
private void randomPictureGenerator(java.awt.event.ActionEvent evt) {
this.run();
}
public void run() {
pictures = new ArrayList<>();
pictures.add(new File("question.png"));
pictures.add(new File("banana.png"));
pictures.add(new File("chocolate.png"));
pictures.add(new File("icecream.png"));
pictures.add(new File("bell.png"));
pictures.add(new File("apple.png"));
pictures.add(new File("money.png"));
pictures.add(new File("number-7.png"));
pictures.add(new File("necklace.png"));
pictures.add(new File("gloves.png"));
int number = rand.nextInt((pictures.size() -1/*Max*/ - 0/*min*/) + 1) + 0/*Min*/;
this.label.setIcon(new ImageIcon(pictures.get(number).getAbsolutePath()));
int number2 = rand2.nextInt((pictures.size() -1/*Max*/ - 0/*min*/) + 1) + 0/*Min*/;
this.label2.setIcon(new ImageIcon(pictures.get(number2).getAbsolutePath()));
int number3 = rand3.nextInt((pictures.size() -1/*Max*/ - 0/*min*/) + 1) + 0/*Min*/;
this.label3.setIcon(new ImageIcon(pictures.get(number3).getAbsolutePath()));
}
答案 0 :(得分:1)
这是Threads发挥作用的地方!你可以通过异常处理,线程和线程中断从编译错误中做很多事情。但是这可以通过将此代码放在run()方法中来完成您想要的操作。
try {
Thread.sleep(5000); //5000 milliseconds is five seconds.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}