rendered paste body//First Classpackage interfacesCliente;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.SwingUtilities;import conexionCliente.ConexionClienteConsulta;import javax.swing.JTextField;import java.awt.Rectangle;import javax.swing.JLabel;import java.awt.Dimension;public class InterfazConsulta extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private ConexionClienteConsulta consulta=null; private String tarjeta=null; private JLabel jlbltarjeta = null; private JTextField jtxtcajita = null; public InterfazConsulta(String tarjeta) { super(); this.tarjeta=tarjeta; initialize(); consulta= new ConexionClienteConsulta(this,"usuario","localhost","2"+tarjeta); consulta.iniciarConexion(); System.out.println("HOla"); } private void initialize() { this.setSize(378, 309); this.setContentPane(getJContentPane()); this.setTitle("CONSULTAS ON LINE"); this.setVisible(true); this.setDefaultCloseOperation(this.EXIT_ON_CLOSE); } private JPanel getJContentPane() { if (jContentPane == null) { jlbltarjeta = new JLabel(); jlbltarjeta.setBounds(new Rectangle(15, 30, 190, 25)); jlbltarjeta.setText("Tarjeta:"); } return jContentPane; } private JTextField getJtxtcajita() { if (jtxtcajita == null) { jtxtcajita = new JTextField(); jtxtcajita.setBounds(new Rectangle(229, 70, 113, 22)); } return jtxtcajita; } public void actionPerformed(ActionEvent e) { } public void escribir(String mensaje) { SwingUtilities.invokeLater(new Escritura(mensaje)); this.repaint(); System.out.println(mensaje); } class Escritura implements Runnable { private final String mensaje; public Escritura(String mensaje) { this.mensaje=mensaje; } public void run() { jtxtcajita.setText(mensaje); } }}//Second Classpackage conexionCliente;import interfacesCliente.InterfazConsulta;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.Socket;import java.net.UnknownHostException;public class ConexionClienteConsulta{ private Socket conexion=null; private DataInputStream entrada=null; private DataOutputStream salida=null; private static final int PUERTO=2222; private InterfazConsulta interfaz=null; private String nombreCliente=null; private String nombreHost=null; private String codTarjeta=null; public ConexionClienteConsulta(InterfazConsulta interfaz, String nombreCliente,String nombreHost,String codTarjeta) { this.interfaz=interfaz; this.nombreCliente=nombreCliente; this.nombreHost=nombreHost; this.codTarjeta=codTarjeta; } public void iniciarConexion() { try { conectar(); crearFlujos(); comunicar(); cerrarConexion(); } catch (IOException e) { e.printStackTrace(); } } private void conectar() { try { conexion = new Socket( nombreHost , PUERTO ); } catch (UnknownHostException e) { e.printStackTrace(); System.out.println("Servidor inexistente ..."); } catch (IOException e) { e.printStackTrace(); } } private void cerrarConexion() { try { entrada.close(); salida.close(); conexion.close(); } catch (IOException e) { e.printStackTrace(); } } private void comunicar() { String mensaje=null; try { salida.writeUTF("Comunicación Establecida"); enviarMensaje(codTarjeta); do { try { mensaje=entrada.readUTF(); interfaz.escribir(mensaje); System.out.println("Escribiendo "+mensaje); interfaz.repaint(); } catch(IOException e) { mensaje="terminar"; interfaz.escribir(nombreCliente+" Se Ha Desconectado"); } } while(!mensaje.equals("terminar")); } catch (IOException e) { e.printStackTrace(); } } private void crearFlujos()throws IOException { entrada = new DataInputStream( conexion.getInputStream() ); salida = new DataOutputStream( conexion.getOutputStream()); } public void enviarMensaje(String mensaje) { try { salida.writeUTF(mensaje); } catch (IOException e) { e.printStackTrace(); } }}