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.
//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(){ p >
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); p >
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>
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();
}
}