я следующее действие, выполняемое методомКак остановить таймер
public void actionPerformed(ActionEvent e) {
Timer timer = new Timer();
Object source = e.getSource();
String stringfromDate = tffromDate.getText();
String stringtoDate = tftoDate.getText();
if (source == button) {
// auto refresh begins
int delay = 0; // 0 seconds startup delay
int period = 7000; // x seconds between refreshes
timer.scheduleAtFixedRate(new TimerTask()
{
@Override
// i still have to truly understand what overide does however
// netbeans prompted me to put this
public void run() {
try {
getdata(stringfromDate, stringtoDate);// run get data
// method
} catch (IOException | BadLocationException ex) {
Logger.getLogger(JavaApplication63.class.getName())
.log(Level.SEVERE, null, ex);
}
}
}, delay, period);
}
if (source == button1) {
timer.cancel();
textarea.setText("");
}
}
У меня есть 2 кнопки на моем GUI один называется получить информацию (кнопка) и другую называемую четкую информацию (button1). Я не могу получить свою ясную информацию (button1), чтобы остановить таймер и очистить текстовую область, чтобы можно было выполнить новый поиск. Я просто не могу заставить этого прекратить помощь.
Вы можете форматировать Ваш код правильно, так что мы можем на самом деле читать? Отступ это и так? – Robert
Похоже, вы создаете новый объект Timer при каждом вызове метода, поэтому, конечно, вы не можете получить доступ к предыдущему таймеру. Переместите это объявление таймера в класс, т. Е. Сделайте его членом вместо локальной переменной. – Robert