Tenho uma consulta no banco de dados e exibo a porcentagem desta consulta em um JProgressBar controlado por uma Thread, problema é que não estou conseguindo finalizar esta thread após ser executada.
Estou tentando comparar os valores para conseguir parar a thread, dou um System.out em isInterrupted() me retorna true, ou seja esta interrompida…Mas não para de executar.
aqui como estou tentando agora.
privatevoidworkerTer01Combo(){progresso.setMinimum(0);progresso.setMaximum(qtdRegTer01);progresso.setStringPainted(true);SwingWorkerw=newSwingWorker(){@OverrideprotectedObjectdoInBackground()throwsException{buFields.block();newThread(){publicvoidrun(){while(qtdRegTer01>=t01Dao.getConsultaSize()){progresso.setValue(t01Dao.getConsultaSize());System.out.println(t01Dao.getConsultaSize());System.out.println(qtdRegTer01==t01Dao.getConsultaSize());System.out.println("Interrompida: "+isInterrupted());if(qtdRegTer01==t01Dao.getConsultaSize()){//se os valores forem iguais a thread é interrompidainterrupt();}}}}.start();returnnull;}protectedvoiddone(){progresso.setValue(0);comboCliente.requestFocus();}};w.execute();}
Como fazer essa Thread parar de ser executada ??? Pq usando interrupt() e pegando o valor isInterrupted() == true, msm assim ela continua executando ??