Я пытаюсь разработать программу, способную удалить запись из JTable после выполнения условия.Чтобы достичь этого, я решил использовать таймер.Я спланировал это так, что у меня есть два почти идентичных метода Timer, которые переключаются между собой при удалении или добавлении записи.Чтобы остановить наложение Timer () на себя, я создал логическую переменную «stop», которая может остановить Timer () до его вызова, так что только один экземпляр присутствует одновременно.Однако это не работает, о чем свидетельствует система, печатающая 2 x каждую секунду вместо 1, как часть моей проверки ошибок.Пожалуйста, найдите под псевдокодом:
public class Main extends javax.swing.JFrame{
boolean stop;
public void Timer(){
stop = false;
Timer timer = new Timer();
long interval = (1000) ;
timer.schedule(new TimerTask(){
public void run() {
if(<condition is met>){
<remove entry>;
if(<no more entries>){
timer.cancel();
}
else{
Timer2(); // identical to Timer(), but with this line swapped to < Timer(); >
timer.cancel();
}
}
else if(stop == true){
timer.cancel();
}
else{
System.out.println("x") // used to check if Timer is working
}
}
}, 0, interval);
}
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {
<insert an entry into the table>
stop = true;
Timer();
}
}
Любая помощь будет высоко ценится.