rendered paste body//First Class
package 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 Class
package 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();
}
}
}