Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package servidor;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectOutputStream;
  5. import java.net.Socket;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.net.SocketException;
  9.        
  10. public class ThreadEnvia implements Runnable {
  11.     private final PrincipalChat main;
  12.     private ObjectOutputStream salida;
  13.     private String mensaje;
  14.     private Socket conexion;
  15.    
  16.     public ThreadEnvia(Socket conexion, final PrincipalChat main){
  17.         this.conexion = conexion;
  18.         this.main = main;
  19.        
  20.         //Evento que ocurre al escribir en el areaTexto
  21.         main.campoTexto.addActionListener(new ActionListener() {
  22.             public void actionPerformed(ActionEvent event) {
  23.                 mensaje = event.getActionCommand();
  24.                 enviarDatos(mensaje); //se envia el mensaje
  25.                 main.campoTexto.setText(""); //borra el texto del enterfield
  26.             } //Fin metodo actionPerformed
  27.         }
  28.         );//Fin llamada a addActionListener
  29.     }
  30.    
  31.    //enviar objeto a cliente
  32.    private void enviarDatos(String mensaje){
  33.       try {
  34.          salida.writeObject("Servidor>>> " + mensaje);
  35.          salida.flush(); //flush salida a cliente
  36.          main.mostrarMensaje("Servidor>>> " + mensaje);
  37.       } //Fin try
  38.       catch (IOException ioException){
  39.          main.mostrarMensaje("Error escribiendo Mensaje");
  40.       } //Fin catch  
  41.      
  42.    } //Fin methodo enviarDatos
  43.  
  44.    //manipula areaPantalla en el hilo despachador de eventos
  45.     public void mostrarMensaje(String mensaje) {
  46.         main.areaTexto.append(mensaje);
  47.     }
  48.    
  49.     public void run() {
  50.          try {
  51.             salida = new ObjectOutputStream(conexion.getOutputStream());
  52.             salida.flush();
  53.         } catch (SocketException ex) {
  54.         } catch (IOException ioException) {
  55.           ioException.printStackTrace();
  56.         } catch (NullPointerException ex) {
  57.         }
  58.     }  
  59.    
  60. }