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();
}
}