Se pretende que por medio de un comando enviado de la maquina 'Servidor', a la maquina 'Cliente', se ejecuten ciertas instrucciones ejemplo:
Que el 'Cliente' al recibir el comando "/bloquea", llame una pantalla de bloqueo, esta instrucción ya me funciona y me llama el Jframe correspondiente, el código utilizado es el siguiente:
- Se lee el mensaje enviado por el 'Servidor' y se guarda en un String Array, posteriormente se separa y si dentro del array existe una palabra que sea igual al comando "/bloquea", se ejecuta la acción del if llamando así el nuevo Jframe
Cabe decir que dicho texto proviene de un DataInputStrem;
Código Java:
Ver original
if (line.startsWith("@")) { if (words.length > 1 && words[1] != null) { words[1] = words[1].trim(); if (!words[1].isEmpty()) { synchronized (this) { for (int i = 0; i < maxClientsCount; i++) { if (threads[i] != null && threads[i] != this && threads[i].clientName != null && threads[i].clientName.equals(words[0])) { threads[i].os.println("<" + name + "> " + words[1]); int port = 2222; jFrameBlocked block = new jFrameBlocked(); //Por el 'Servidor' if("/bloquea".equals(comando)){ //Si es igual a '/bloquea' se llama el nuevo frame block.setVisible(true); } //aqui el problema =( if("/desbloquea".equals(comando)){ block.setVisible(false); } /* * Echo this message to let the client know the private * message was sent. */ this.os.println(">" + name + "> " + words[1]); break; } } } } } }
Ahora el problema radica, en que al cambiar el parametro de setVisible a False, la ventana antes mencionada no se oculta ni se cierra
El frame que se manda a llamar contiene un Login conectado a Base de datos, de iniciar sesión este oculta la ventana y el control de la maquina 'Cliente' vuelve al usuario; la idea como tal es que el servidor pueda ocultarla sin necesidad de iniciar sesión y únicamente enviado el comando "/desbloquea".
Espero tengan alguna solución pues he intentado ya muchas cosas y visto varias paginas pero ninguna me ayuda.
...Por cierto por ahora el cliente recibe las instrucciones desde la ventana chat del cliente y al llamar el otro frame, la primer ventana no se debe cerrar pues ahí llegan los comando....