Итак, у меня есть метод таймера в моей программе, который использует целое число 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++;
}
нет причин пытаться сохранить память таким образом в Java, если вы действительно хотите, чтобы я предположил, что вы должны определить таймер глобально, вне метода. – TheFooBarWay
Как инициализировать это глобально? Он не распознает исполнитель задачи actionListener, когда я инициализирую его в конструкторе? –