Vale esto ya lo solucioné parandolos manualmente con una variable booleana que la pongo en un metodo a false
Este error me surgía por que no me encontraba el metodo stop. Es un metodo no fiable.
Ahora el problema que tengo es que si , se para el programa , pero no arranca de nuevo cuando le doy a "conectar Servidor"
Tengo esto.
Código:
if(jButton1.getText().equals("Conectar Servidor"))
{ jButton1.setText("Desconectar Servidor");
jlista.setModel(modelo);
jlogger.setModel(modelo2);
try {
s = new Servidor(modelo,modelo2);
}
catch (IOException ex1)
{
Logger.getLogger(Servidor_Grafico.class.getName()).log(Level.SEVERE, null, ex1);
modelo2.addElement("Error en la salida o entrada del servidor");
}
System.out.println("Cadencia: "+s.cadencia);
rc =new resetcomprueba(s,jlista,s.cadencia,modelo2);
Thread t=new Thread(s,"servidor");
Thread rct=new Thread (rc,"Resetcomprueba");
estado.setText("El servidor esta activado");
jButton1.setText("Desconectar Servidor");
jlista.setCellRenderer(new Colores(s));
t.start();
rct.start();
System.out.println("LANZO LOS 2 HILOS");
}
else{
if(jButton1.getText().equals("Desconectar Servidor"))
{
try {
System.out.println("TAMBIEN LOS PARO");
rc.parar();
s.martarhilo();
rct.join();
t.join();
jButton1.setText("Conectar Servidor");
} catch (InterruptedException ex) {
Logger.getLogger(Servidor_Grafico.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
y de atributos de la clase tengo lo sigueente:
Thread t=new Thread(s,"servidor");
Thread rct=new Thread (rc,"Resetcomprueba");
No se por que falla, por que al ponerlos como atributos de la clase....
he probado tambien a quitar
Thread t=new Thread(s,"servidor");
Thread rct=new Thread (rc,"Resetcomprueba");
estas 2 lineas de lo que es la definicion del boton dejando solo las de la clase ,pero nada.
¿Que estoy haciendo mal? por qeu me sale una excepcion "SOCKET EXCEPTION"