INSTITUTO POLITÉCNICO NACIONAL - ESCUELA SUPERIOR DE CÓMPUTO

PROGRAMACIÓN ORIENTADA A OBJETOS 2 , programas de java 2 deptal

Applets



FLOWDEFAULT

import java.awt.*;
import java.applet.Applet;

public class FlowDefault extends Applet
{
  Button b1,b2,b3,b4,b5;
  public void init(){
    // setLayout(new FlowLayout(FlowLayout.RIGTH));
    setLayout(new BorderLayout());
    b1=new Button("b1");
    b2=new Button("b2");
    b3=new Button("b3");
    b4=new Button("b4");
    b5=new Button("b5");
    add("South",b1);
    add("North",b2);
    add("East",b3);
    add("Center",b4);
    add("West",b5);
  }
}


PANELES

import java.awt.*;
import java.applet.Applet;

public class Paneles extends Applet
{
  Panel p1;
  Panel p2;
  Label label1;
  Label label2;
  public void init()
  {
    p1 = new Panel(); //crea objeto en init
    p2 = new Panel();
    label1 = new Label("Panel 1");
    label2 = new Label("Panel 2");
    p1.setBackground(Color.blue);
    p2.setBackground(Color.red);
    p1.add(label1);
    p2.add(label2);
    add(p1);
    add(p2);
  } //init
}


RADIO BUTTONS

import java.awt.*;
import java.applet.Applet;

public class Radiobut extends Applet
{
  Font f;
  Checkbox checa1, checa2;
  TextField t;

  public void init()
  {
    checa1 = new Checkbox("Negrita");
    checa2 = new Checkbox();
    checa2.setLabel("Cursiva");
    f = new Font("TimesRoman", Font.PLAIN, 14);
    t = new TextField("hola", 20);
    t.setFont(f);
    add(t);
    add(checa1);
    add(checa2);
  } //init

  public boolean action(Event e,Object o)
  {
    int b, i;
    if(e.target instanceof Checkbox)
    {
      if(checa1.getState()==true)
        b=Font.BOLD;
      else
        b=Font.PLAIN;
      if(checa2.getState()==true)
        i=Font.ITALIC;
      else
        i=Font.PLAIN;
      f = new Font("TimesRoman", b+i, 14);
      t.setFont(f);
    }
    return true;
  }//action
}


APPLET QUE UTILIZA TEXTAREA

import java.awt.*;
import java.applet.Applet;

public class Recibir extends Applet
{
  Checkbox checkcm, checkcd, checkweb, checkprog, checkcs, checkbd;
  Button aceptar, limpiar;
  TextField nombre1, edad1, tel1, dir1;
  Label nombre, edad, tel, dir, area;
  TextArea result;
  Panel pantext, pancheck, pantarea;

  public void init()
  {
    pantext = new Panel();
    pancheck = new Panel();
    pantarea = new Panel();
    nombre=new Label("Nombre: ");
    nombre1=new TextField(20);
    edad=new Label("Edad: ");
    edad1=new TextField(4);
    tel=new Label(" Telefono: ");
    tel1=new TextField(13);
    dir=new Label(" Dirección: ");
    dir1=new TextField(30);
    area = new Label("Areas de interes:");
    result = new TextArea(12,50);
    checkcm = new Checkbox("Cómputo Movil");
    checkcd = new Checkbox("Cómputo Distribuido");
    checkweb = new Checkbox("Web");
    checkprog = new Checkbox("Programación");
    checkcs = new Checkbox("Cliente/Servidor");
    checkbd = new Checkbox("Bases de Datos");
    aceptar = new Button("aceptar");
    limpiar = new Button("Limpiar");
    pantext.setBackground(Color.blue);
    pancheck.setBackground(Color.red);
    pantext.add(nombre);
    pantext.add(nombre1);
    pantext.add(edad);
    pantext.add(edad1);
    pantext.add(tel);
    pantext.add(tel1);
    pantext.add(dir);
    pantext.add(dir1);
    pancheck.add(checkcm);
    pancheck.add(checkcd);
    pancheck.add(checkweb);
    pancheck.add(checkprog);
    pancheck.add(checkcs);
    pancheck.add(checkbd);
    add(pantext);
    add(area);
    add(pancheck);
    add(aceptar);
    add(limpiar);
    add(result);
  } //init

  public boolean action(Event e,Object o)
  {
    String a;
    if(e.target==aceptar)
    {
      a = nombre1.getText();
      a = "nombre: " + a + "\n";
      result.append(a);
      a = edad1.getText();
      a = "edad: " + a + "\n";
      result.append(a);
      a = tel1.getText();
      a = "tel: " + a + "\n";
      result.append(a);
      a = dir1.getText();
      a = "dir: " + a + "\n";
      result.append(a);
      if(checkcm.getState()==true)
      {
        
a = "Computo Movil \n";
      }
      else
        a = "";
      result.append(a);
      if(checkcd.getState()==true)
        a = "Computo distribuido \n";
      else a = "";
      result.append(a);
      if(checkweb.getState()==true)
        a = "Web \n";
      else a = "";
      result.append(a);
      if(checkprog.getState()==true)
        a = "Programacion \n";
      else a = "";
      result.append(a);
      if(checkcs.getState()==true)
        a = "Cliente / servidor \n";
      else a = "";
      result.append(a);
      if(checkbd.getState()==true)
        a = "Bases de datos \n";
      else a = "";
      result.append(a);
    }
    return true;
  } //action
}



 

FRAMES

FRAME QUE UTILIZA PANELES, TEXTAREAS, ETC.

import java.awt.*;

public class Frame1 extends Frame
{
  Checkbox checkcm, checkcd, checkweb, checkprog, checkcs, checkbd;
  Button aceptar, limpiar;
  TextField nombre1, edad1, tel1, dir1;
  Label nombre, edad, tel, dir, area;
  TextArea result;
  Panel pantext, pancheck, pantarea;

  Frame1()
  {
    super("captura datos");
    
pantext = new Panel();
    pancheck = new Panel();
    pantarea = new Panel();
    nombre=new Label("Nombre: ");
    nombre1=new TextField(20);
    edad=new Label("Edad: ");
    edad1=new TextField(4);
    tel=new Label(" Telefono: ");
    tel1=new TextField(13);
    dir=new Label(" Dirección: ");
    dir1=new TextField(30);
    area = new Label("Areas de interes:");
    result = new TextArea(12,50);
    checkcm = new Checkbox("Cómputo Movil");
    checkcd = new Checkbox("Cómputo Distribuido");
    checkweb = new Checkbox("Web");
    checkprog = new Checkbox("Programación");
    checkcs = new Checkbox("Cliente/Servidor");
    checkbd = new Checkbox("Bases de Datos");
    aceptar = new Button("aceptar");
    limpiar = new Button("Limpiar");
    pantext.setBackground(Color.blue);
    pancheck.setBackground(Color.red);
    pantext.add(nombre);
    pantext.add(nombre1);
    pantext.add(edad);
    pantext.add(edad1);
    pantext.add(tel);
    pantext.add(tel1);
    pantext.add(dir);
    pantext.add(dir1);
    pancheck.add(checkcm);
    pancheck.add(checkcd);
    pancheck.add(checkweb);
    pancheck.add(checkprog);
    pancheck.add(checkcs);
    pancheck.add(checkbd);
    setLayout(new FlowLayout());
    add(pantext);
    add(area);
    add(pancheck);
    add(aceptar);
    add(limpiar);
    add(result);
    resize(300, 300);
    show();
  } //termina constructor

  public boolean handleEvent(Event e)
  {
    if(e.id == Event.WINDOW_DESTROY)
    {
      hide();
      dispose();
      System.exit(0);
    }
    return super.handleEvent(e);
  }

  public boolean action(Event e, Object o)
  {
    return true;
  }

  public static void main(String args[])
  {
    Frame1 marco = new Frame1();
  }
}//class Frame1


FRAME QUE GUARDA Y LEE DATOS DE ARCHIVO

import java.awt.*;
import java.io.*;

public class Recibedatos extends Frame
{
  RandomAccessFile archivo;
  Panel p1,p2,p3,p4;
  Label lNom,lEdad,lTel,lDir,lTitIP,lTitAI,lTitR;
  TextField TNom,TEdad,TTel,TDir;
  Button Aceptar,Limpiar,Guardar,Leer;
  Checkbox Chk1,Chk2,Chk3,Chk4,Chk5,Chk6;
  static TextArea Resultado;
  String temp;
  Recibedatos()
  {
    try
      {
        archivo=new RandomAccessFile("datos.dat","rw");
      }
    catch(IOException e)
    {
      System.out.println("Error al crear el archivo");
    }
  setLayout(new FlowLayout());
  p1=new Panel();
  p2=new Panel(); p3=new Panel();
  p4=new Panel();
  p1.setBackground(Color.red);
  p2.setBackground(Color.blue);
  lNom=new Label("Nombre");
  lEdad=new Label("Edad");
  lTel=new Label("Telefono");
  lDir=new Label("Direccion");
  lTitIP=new Label("Datos Personales");
  lTitAI=new Label("Area de interes");
  lTitR=new Label("Resultados");
  TNom=new TextField(20);
  TEdad=new TextField(3);
  TTel=new TextField(11);
  TDir=new TextField(40);
  Chk1=new Checkbox("Computo Movil");
  Chk2=new Checkbox("Computo Distribuido");
  Chk3=new Checkbox("Web");
  Chk4=new Checkbox("Programacion");
  Chk5=new Checkbox("Cliente/Servidor");
  Chk6=new Checkbox("Bases de datos");
  Aceptar=new Button("Aceptar");
  Limpiar=new Button("Limpiar");
  Guardar=new Button("Guardar");
  Leer=new Button("Leer");
  Resultado=new TextArea(15,50);
  p1.add(lNom);
  p1.add(TNom);
  p1.add(lEdad);
  p1.add(TEdad);
  p2.add(lTel);
  p2.add(TTel);
  p2.add(lDir);
  p2.add(TDir);
  p3.add(Chk1);
  p3.add(Chk2);
  p3.add(Chk3);
  p3.add(Chk4);
  p3.add(Chk5);
  p3.add(Chk6);
  p4.add(Aceptar);
  p4.add(Limpiar);
  p4.add(Guardar);
  p4.add(Leer);
  //Orientacion de los paneles y titulos
  //Informacion personal
  add(lTitIP);
  add(p1);
  //Nombre y edad
  add(p2); //telefono y direccion
  //Areas de interes
  add(lTitAI);
  //Tiulo add(p3);
  //Check box
  //Confirmacion
  add(p4);
  //Aceptar-limpiar
  //Resultados
  add(lTitR);
  //TextArea
  add(Resultado);
  resize(700,700);
  show();
}

public boolean handleEvent(Event e)
{
  if(e.id==Event.WINDOW_DESTROY)
  {
    hide();
    dispose();
    System.exit(0);
  }
  return super.handleEvent(e);
}

public boolean action(Event e,Object o)
{
  if(e.target==Aceptar)
  {
    temp= "datos personales: \n"+ TNom.getText() + "\n" + TEdad.getText() + "\n" + TTel.getText()     + "\n" + TDir.getText() + "\n\n" + "Areas de interes: \n"; if(Chk1.getState()==true) temp=temp     + "Computo Movil" + "\n";
    if(Chk2.getState()==true)
        temp=temp + "Computo Distribuido" + "\n";
    if(Chk3.getState()==true)
        temp=temp + "Web" + "\n";
    if(Chk4.getState()==true)
        temp=temp + "Programacion" + "\n";
    if(Chk5.getState()==true)
        temp=temp + "Cliente/Servidor" + "\n";
    if(Chk6.getState()==true)
        temp=temp + "Bases de datos" + "\n";
    Resultado.setText(temp);
  }
    if(e.target==Limpiar)
    {
        TNom.setText("");
        TEdad.setText("");
        TTel.setText("");
        TDir.setText("");
        Chk1.setState(false);
        Chk2.setState(false);
        Chk3.setState(false);
        Chk4.setState(false);
        Chk5.setState(false);
        Chk6.setState(false);
        Resultado.setText("");
    }
    if(e.target==Guardar)
    {
        Archivo datos = new Archivo();
        datos.escribe(temp);
    }
    if(e.target==Leer)
    {
        Archivo datos2 = new Archivo();
        datos2.read();
    }
    return true;
}

public static void main(String args[])
{
    Recibedatos forma=new Recibedatos();
}
}


class Archivo
{
    RandomAccessFile archivo;
    String texto;

    public Archivo()
    {
        try
            {
                archivo = new RandomAccessFile("datos.dat","rw");
        }
        catch(IOException e)
        {
            Recibedatos.Resultado.setText("Error al crear el archivo.");
        }
}
void escribe(String cadena)
{
    try
    {
        archivo.seek(archivo.length());
        archivo.write(cadena.getBytes());
        archivo.writeUTF("\n ---------------------------------------------\n\n");
        Recibedatos.Resultado.setText("Registro guardado.");
    }
    catch(IOException e)
    {
        Recibedatos.Resultado.setText("Error al escribir en el archivo.");
    }
}
void read()
{
    try
    {
        Recibedatos.Resultado.setText("");
        do
        {
            texto=archivo.readLine();
            Recibedatos.Resultado.append(texto + "\n");
        }
        while(archivo.getFilePointer()<archivo.length());

        if (archivo.length()==0)
        {
            Recibedatos.Resultado.setText("No hay registros disponibles");
        }
    }
    catch(IOException e)
    {
        Recibedatos.Resultado.setText("Error al tratar de leer el Archivo.");
    }
}
}


MANEJO DE SOCKETS

CÓDIGO PARA SERVIDOR

import java.io.*;
import java.net.*;
import java.awt.*;

public class Server extends Frame
{
  TextArea display;
  public Server()
  {
    super( "Server" );
    display = new TextArea( 20, 5 );
    add( "Center", display );
    resize( 300, 150 );
    show();
  }

  public void runServer()
  {
    ServerSocket server;
    Socket connection;
    OutputStream output;
    InputStream input;

    try
        {
            server = new ServerSocket( 5000, 100 );
            connection = server.accept();
            display.setText( "Connection received...\n" );
            display.appendText( "Sending data...\n" );
            output = connection.getOutputStream();
            input = connection.getInputStream();
            String s = new String( "Connection successful\n");
            char c;

            for ( int i = 0; i < s.length(); i++ )
                output.write( (int) s.charAt( i ) );
            while( (c = (char) input.read() ) != '\n' )
                display.appendText( String.valueOf(c) );
            display.appendText( "Transmission complete. Closing socket.\n" );
            connection.close();
        }
    catch ( IOException e )
    {
        e.printStackTrace();
    }
  }

  public boolean handleEvent( Event e )
  {
    if ( e.id == Event.WINDOW_DESTROY )
    {
        hide();
        dispose();
        System.exit( 0 );
    }
    return super.handleEvent( e );
  }

  public static void main( String args[] )
  {
    Server s = new Server();
    s.runServer();
  }
}

CÓDIGO PARA CLIENTE

import java.io.*;
import java.net.*;
import java.awt.*;

public class Client extends Frame
{
    TextArea display;
    public Client()
    {
        super( "Client" );
        display = new TextArea( 20, 10 );
        add( "Center", display );
        resize( 300, 150 );
        show();
    }

    public void runClient()
    {
        Socket client;
        InputStream input;
        OutputStream output;
        try
        {
            client = new Socket( InetAddress.getLocalHost(), 5000 );
            display.appendText( "Created Socket\n" );
            input = client.getInputStream();
            output = client.getOutputStream();
            display.appendText( "Created input stream\n" );
            display.appendText( "The text from the server is:\n\t");
            String s = new String("Hola server \n");
            char c;
            while ( ( c = (char) input.read() ) != '\n' )
                display.appendText( String.valueOf( c ) );
            for (int i = 0; i < s.length(); i++)
                output.write( (int) s.charAt(i) );
            display.appendText( "\n" );
            client.close();
        }
        catch ( IOException e )
        {
            e.printStackTrace();
            }
    }

    public boolean handleEvent( Event e )
    {
        if ( e.id == Event.WINDOW_DESTROY )
        {
            hide();
            dispose();
            System.exit( 0 );
        }
        return super.handleEvent( e );
    }

    public static void main( String args[] )
    {
        Client c = new Client();
        c.runClient();
    }
}



JORGE LUIS ARECHIGA ROCHA