Red de conocimiento informático - Material del sitio web - Cómo crear un subprograma de chat en Java, que requiere el uso de una interfaz gráfica de usuario, que puede realizar un chat de varias personas en una sala de chat o un chat privado entre dos personas.

Cómo crear un subprograma de chat en Java, que requiere el uso de una interfaz gráfica de usuario, que puede realizar un chat de varias personas en una sala de chat o un chat privado entre dos personas.

Para brindarle una implementación simple, tenga en cuenta que primero se debe ejecutar MyServer.java.

//MyCilent.java

Importar Java.io.*;

Importar Java.net.*;

Importar javax. swing.*;

Importar Java.awt.*;

Importar Java.awt.event.*;

La clase pública MyClient extiende JFrame para implementar ActionListener{

JTextField tf

JTextArea tx

JButton bt

PrintWriter out

Público MyClient(){

TF = nuevo JTextField(20);

tx = nuevo JTextArea();

tx setline wrap(true); . setwrapstyleword(true);

JPanel pan = nuevo JPanel();

JScrollPane JSP = nuevo JScrollPane(tx);

add(jsp, "centro " );

Bt = new JButton(" ENVIAR ");

Bt . addactionlistener(this);

pan . add(TF);

pan . add(Bt);

Agregar (Pan, "Sur");

this . p >cierre de ventana vacía pública (evento de ventana e){

sistema salida(0);

}

});

setTitle("Cliente");

setSize(400, 300);

establecer visible(true);

Prueba {

Socket socket = new socket(" 127.0.0.1 ", 1680);

out = new PrintWriter(socket . get output stream(), true

InputStreamReader in = new); InputStreamReader (socket . getinputstream());

BufferedReader sin = nuevo lector almacenado en búfer (in);

String s; p>

s = sin . readline();

tx . append(" # El servidor dijo #: " s " \ n ");

}catch(Exception e){

e . printstacktrace();

}

}

acción de anulación pública realizada. (evento de acción e){

if(e.getSource()==bt){

tx append(" @ Cliente.

Dijo @:" TF . gettext() " \ n ");

out . println(TF . gettext());

TF . settext(" ");

p>

}

}

Public static void main(String[] args){

mi cliente MCT = nuevo mi cliente();

}

}

//MyServer.java

Importar Java io *;

Importar Java .net.*;

Importar javax.swing.*;

Importar Java.awt.*;

Importar Java.awt. event.*;

La clase pública MyServer extiende JFrame para implementar ActionListener{

JTextField tf

JTextArea tx

JButton bt

JScrollPane jsp

JPanel pan;

PrintWriter fuera

MiServidor público(){

tx = nuevo JTextArea() ;

tx . setline wrap(verdadero);

tx .setwrapstyleword(verdadero);

JSP = nuevo JScrollPane(tx); p>TF = nuevo JTextField (20);

Bt = nuevo JButton(" ENVIAR ");

Bt addactionlistener(this); nuevo JPanel();

pan . add(TF);

pan . /p>

add(jsp, "center");

this . addwindowlistener(new window adaptor(){

cierre de ventana pública vacía (evento de ventana e){

sistema .exit(0);

}

});

setTitle("Servidor");

setSize(400, 300);

establecer visible(true);

Pruebe {

servidor de socket de servidor = nuevo socket de servidor(1680);

socket socket = server. Accept();

InputStreamReader in = new InputStreamReader(socket. getinputstream());

BufferedReader sin = nuevo lector almacenado en buffer(in );

salida = nuevo PrintWriter(socket. get flujo de salida(), verdadero);

mientras(verdadero){

>

cadena s = sin . readline();

tx . append(" @ Cliente dijo @: " s " \ n ");

}catch(Exception e){

e . printstacktrace();

}

}

acción de anulación pública realizada. (evento de acción e){

if(e.getSource()==bt){

cadena ST = TF .

tx. append(" # El servidor dijo #: " ST " \ n ");

out . println(ST); settext(" "); p>}

}

Public static void main(String[] args){

mi servidor MSR = new mi servidor();

}

}