olá,
To com dificuldades em enteder o uso das threads, se alguem tiver um exemplo de como fazer um metodo rodar em segundo plano pra mim olhar , pois tenho um metodo blocking (ServerSocket) e gostaria de deixalo em segundo plano para o usuár o poder executar outras tarefas no gui
Num pode… Java nao suporta herança multipla… o que voce pode fazer é herdar JFrame e implementar a interface Runnable que é a mesma coisa que herdar Thread, só que é obrigatória a implementação do método Run()
vc tem duas opcoes nesse caso, uma seria criar uma classe separada q estenda a Thread, e outra eh implementar Runnable:
public class Janela extends JFrame implements Runnable{
...
public static void main(String args[]){
Janela j = new Janela();
j.setVisible(true);
Thread t = new Thread(j);
t.start();
}
...
public void run(){
// aqui vc poe os sockets
}
}
eu particularmente prefiro usar uma classe separada q estenda a Thread, pq dai fica mais especifico e a classe acaba ficando mais facil para modificar, mas eh vc qm decide como fazer
Eu concordo com o Felipe de separar as classes… odeio massaroca… mas tem vezes que precisa… esses dias eu fiz um trabalho que precisava atualizar a tela de tempo em tempo… dae fiz com trhead… e acabei herdando JFrame e implemenando Runnable