Dudo mucho que por ahí haya algo exactamente como lo que pidas, aunque intentaré darte una serie de pasos a seguir para lograr ayudarte lo máximo posible.
Empezaré sobreponiendo que sabrás hacer GUI's con netbeans o Eclipse sin necesidad de tener que escribir a mano todo el diseño. Habiendo dado este paso por hecho sería ponerse manos a la obra en el código en sí.
Dentro de la GUI puedes hacer bien que el constructor llame a este método o bien lo puedes hacer con eventos al pulsar un botón o interactuar con cualquier otro componente. Aquí te dejo un ejemplo de servidor:
Código Java:
Ver originalprivate void startServer
(int Port) {
// Aquí haremos como si ya hubiéramos declarado la clase ServerSocket como privada de la clase
// Aquí igual, haremos como si ya hubiéramos declarado la clase socket "Cliente"
Cliente = Server.accept();
// Mostramos que se ha conectado un usuario y su hora y hacemos un pequeño remplazamiento debido a la clase IntedAddress
System.
out .
println("Se ha conectado un usuario con la IP ".
concat(getInetAddress
().
toString().
replace("/",
"")).
concat(" a ").
concat(String.
valueOf(new Date()));
}
A la hora de desconectar tendrás que hacer que cuando el usuario se deconecte llame a un método y que muestre por pantalla la hora (cuando pulse el botón desconectar o cierre el programa)
Bien, ahora suponiendo que has hecho eso con éxito vamos a hacer el cliente dentro de la respectiva GUI con otro método.
Código Java:
Ver originalprivate void connectToServer
(String address,
int port
) {
// Dando por hecho que ya hemos declarado la variable de la clase Socket
Cliente
= new Socket(address, port
); // O bien, new Socket(InetAddress.getByName(address) ,port); para gustos colores
// Ahora ya estarían conectados cliente y servidor
}
Luego sería cuestión de formar el sistema de base de datos con JDBC (no vendría mal que hicieras tú eso y te informaras cómo se hacen consultas a la base de datos). Luego sería crear un textarea y un botón con un evento y en dicho evento llamar a la clase SQL que creaste y que ejecute un método el cual le pases como parámetro un String y que ejecute dicha sentencia.
Por ejemplo, creasi un TextArea y al llamar al evento cojes el String y llamas al método de la clase "sql" para que ejecuta dicha sentencia. No sé si me he explicado bien.
Disculpa si en algún momento no has entendido algo, es que ando con prisa y es lo más que puedo hacer por ti.
PD: Este sistema de sockets solo sirve para un cliente, para varios tendrías que crear un thread por cada uno (en google hay ejemplos)
PD2: Puede que haya algún error, lo he escrito aquí sobre la marcha y no sé si he hecho algo mal.
Saludos.