Как получить метод для ожидания выполнения кода таймера?
public void highlightThisText(){
int delay = 1000;
ActionListener tp = new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
System.out.println();
if(name.equals("Correct")){
thisPanel.getHighlighter().addHighlight(startIndex, endIndex, hl);
}
else{
anotherPanel.getHighlighter().addHighlight(startIndex, endIndex, hl);
}
} catch (BadLocationException ex) {
ex.printStackTrace();
}
}
};
Timer t = new Timer(delay, tp);
t.setRepeats(false);
t.start();
}
Мне нужно, чтобы моя программа входила в метод highlightThisText, выполняла код таймера и после задержки покидала метод. Я понимаю, что не могу использовать Thread.sleep(1000); так как это заблокирует EDT, но я не могу найти здесь других примеров с подобной проблемой. startIndex и endIndex будут увеличены после того, как метод будет оставлен, что означает, что правильная строка не будет выделена.
Любая помощь будет высоко оценена.