Laço de repetição na GUI

Boa tarde!
Estou desenvolvendo uma aplicação em Java, e acabei me deparando com um conceito da qual não aprendi.
O problema é o seguinte: Estou com um Jframe com 3 inputs do usuário e 2 botões(INICIAR e PARAR), e quando o usuário clica sobre o botão iniciar o programa invoca uma função que ativa um laço de repetição, e esse laço deveria ser interrompido quando o usuário clicar no botão PARAR, o problema é que quando o laço de repetição se inicia a janela trava, ou seja, não posso clicar no botão PARAR(e em nenhum outro elemento da janela) até que o laço de repetição se encerre. O que posso fazer para iniciar esse laço sem travar a interface gráfica?

colocar um boolean e um buton activit que para o laço transformando o boolean em positivo

Isso não vai alterar em nada. A tela trava pois espera o fim da execução do método invocado pelo clique no botão, enquanto o método não finaliza, pois o loop está sendo executado, a tela fica travada.

O laço de repetição deve ser executado em uma segunda thread.

2 curtidas

Obrigado ^^, eu não conhecia esse conceito de Threads, irei estudar.

Opa, é um conceito bem bacana.
Ah, para fazer funcionar, você vai precisar ajustar o que o @Ofidomundo sugeriu.
Ficará bem mais fácil resolver o problema.

1 curtida