Pow cara, perdi o eclipse, só tenho o meu jar e não to conseguindo ver o código do .class
Me manda seu e-mail por mp que eu te mando meu programa, vc tenta abrir ele e ver onde tá.
Eu juro que se eu achar a maneira ou me lembrar dela eu posto aqui.
Mas pelo que eu me lembre, eu tinha um botão que startaca uma thread com loop infinito se ela estivesse 'morta' e matava se ela estivesse 'viva' (alternava).
Pra isso ele checava se ela existiae se não existia ele criava ela. Se existia ele dava um "Thread.stop" e depois um "Thread = null".
Com isso eu conseguia manter a gui separada do mei loop e interrompia ele com a ação do botão.
Vou continuar procurando o código!
Achei mais ou menos, uma versão antiga que não funcionava, vou tentar alterar ela:
sleepButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if (gui.getSleep()==true){
sleepButton.setText("Sleep");
gui.setSleep(false);
status.setText(" running ");
status.setBackground(Color.GREEN); //status label shows running
final Thread thread=new Thread(loop);
thread.start(); //Starts the ROBOT
}
else {
sleepButton.setText("Run");
gui.setSleep(true);
status.setText(" sleeping ");
status.setBackground(Color.RED); //status label shows sleeping
thread.stop;
thread=null;
}
}
}); //will change the program's state running<->sleeping
Tipo cara, não tenho certeza da sintaxe, faz tempo, mas a idéia é essa.
"Cria e parte" toda hora e "para e mata" também.
É assim que eu fiz e nunca deu pau.