Я искал то же самое решение, которое вы, похоже, ищете, и я решил его таким образом. если вы обнаружите событие mousePressed, вы можете его закончить и повторно использовать, но его нужно инициализировать, как показано ниже.
class MouseHandler extends MouseAdapter{
public void mousePressed(MouseEvent e) {
if(th.isAlive()){
th.interrupt();
th = new Thread();
}
else{
th.start();
}
}
}