我正在制作一个用户可以获得“工作”的游戏,并且总薪水增加了他们的工资,它会暂停一秒钟,然后重复。它就像Cookie Clicker中的cookie系统,你在那里制作一些饼干,它会暂停,然后更多地显示出来。在游戏中,您单击一个按钮就可以获得“工作”。
//The button to get a job
JButton workButton = new JButton("Get a job");
mainLayout.gridx = -1;
mainLayout.gridy = 1;
mainPanel.add(workButton, mainLayout);
workButton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
boolean jobButtonClicked = true;
Random jobGenerator = new Random();
int jobSalary = jobGenerator.nextInt(200);
workLabel.setText("You are making $" +jobSalary);
int totalMoney = 0;
for(jobButtonClicked = true;;){
totalMoney = totalMoney + jobSalary;
//I want the total Money to increase by jobSalary,
//pause for one second, and then do it again.
}
}
});
我希望暂停发生在这里:
for(jobButtonClicked = true;;){
totalMoney = totalMoney + jobSalary;
//I want the total Money to increase by jobSalary,
//pause for one second, and then do it again.
我尝试了“Thread.sleep();”,但是如果我没有填写参数,我得到错误“Thread类型中的方法sleep(long)不适用于arguments()”。如果我把括号中的毫秒数我得到错误:“未处理的异常类型InterruptedException”我是这个东西的初学者,我这样做是为了学习。如果可以的话请帮忙。谢谢你的时间。
答案 0 :(得分:1)
写
try{
Thread.sleep(1000);
} catch (InterruptedException e){}
不要忘记为循环创建一个新线程。对于休眠的东西使用事件调度线程并不好,因为它会使你的应用程序冻结。