所以基本上我的程序中有一个计时器方法,它使用整数z作为参数以及计时器本身的延迟。但每次我运行此方法时,它会创建一个新的计时器而不删除旧的计时器。所以我决定添加一个if else块,使它只在第一次创建一个计时器,但现在它说它可能没有被初始化,因为它是在if else块中初始化的。有人能帮我吗?
public void timer(int z) {
int count = 0;
Timer tester;
z = (60000 / z);
decide = true;
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {noteDecider();}
};
if(count == 0) {
tester = new Timer(z, taskPerformer);
tester.start();
}
else {
tester.setDelay(z);
tester.start();
}
count++;
}
答案 0 :(得分:0)
我想说如果你担心优化你的代码,你应该考虑优化你的Timer类。就像在Timer本身内部移动ActionListener对象一样。你的所有timer(int z)方法都在尝试使用一个对象来跟踪时间而不是管理Timer对象的生命周期。