MAÑANA TENGO Q ACABARLO AYUDA CON OBJECTINPUTSTREAM

ercolega74
17 de Junio del 2004
/*
Programita de su brother Banqueri and surmano er Ladri
*/
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class programita extends Atributos
{
//declaramos los como publicos y estaticos aquellos atributos que usaremos en otras clases

public static Frame ventana=new Frame();
public static StringBuffer campo;
public static Atributos alumno =new Atributos();


public static TextField nombre= new TextField (22);
public static TextField curso= new TextField (1);
public static TextField faltas= new TextField (3);

public static TextField programacion1= new TextField(1);
public static TextField programacion2=new TextField(1);
public static TextField programacion3=new TextField(1);

public static TextField analisis1=new TextField(1);
public static TextField analisis2=new TextField(1);
public static TextField analisis3=new TextField(1);

public static TextField sistemas1=new TextField(1);
public static TextField sistemas2=new TextField(1);
public static TextField sistemas3=new TextField(1);

public static TextField iea1=new TextField(1);
public static TextField iea2=new TextField(1);
public static TextField iea3=new TextField(1);

public static void main (String args[]) throws FileNotFoundException ,IOException
{

// creacion de interfaz grafica

Panel tabla= new Panel ();
Panel central= new Panel();
Panel sur= new Panel();

// division de la ventana en paneles
Panel denombre=new Panel ();
Panel decurso=new Panel ();
Panel defaltas=new Panel ();

//elementos del panel central
Label etiquetanombre= new Label ("Nombre");
Label etiquetacurso= new Label ("Curso");
Label etiquetafaltas= new Label ("Faltas");

//Botones

Button guardar= new Button("Guardar");

Button cargar= new Button("Cargar");

// seleccion de layouts para los objetos
ventana.setLayout (new BorderLayout());
central.setLayout (new GridLayout (1,3));
tabla.setLayout (new GridLayout(5,4));

// ubicacion de los objetos
ventana.add (tabla, BorderLayout.CENTER);
ventana.add (central, BorderLayout.NORTH);
ventana.add (sur,BorderLayout.SOUTH);

sur.add(guardar);
sur.add(cargar);

// dentro del panel central intro 3 paneles
central.add (denombre);
denombre.add(etiquetanombre);
denombre.add(nombre);

central.add (decurso);
decurso.add(etiquetacurso);
decurso.add(curso);

central.add (defaltas);
defaltas.add(etiquetafaltas);
defaltas.add(faltas);

//creacion de paneles para tabla
Panel a1= new Panel();
Panel a2= new Panel();
Panel a3= new Panel();
Panel a4= new Panel();

Panel b1= new Panel();
Panel b2= new Panel();
Panel b3= new Panel();
Panel b4= new Panel();

Panel c1= new Panel();
Panel c2= new Panel();
Panel c3= new Panel();
Panel c4= new Panel();


Panel d1= new Panel();
Panel d2= new Panel();
Panel d3= new Panel();
Panel d4= new Panel();

Panel e1= new Panel();
Panel e2= new Panel();
Panel e3= new Panel();
Panel e4= new Panel();


// agregando elementos de la tabla en sus correspondientes paneles
Label asignatura= new Label("Asignatura");
a1.add (asignatura);
Label programacion= new Label("Programacion");
b1.add (programacion);
Label analisis= new Label("Analisis");
c1.add (analisis);
Label sistemas= new Label("Sistemas");
d1.add (sistemas);
Label iea= new Label("IEA");
e1.add (iea);
Label primero= new Label("Primer Trimestre");
a2.add (primero);
Label segundo= new Label("Segundo Trimestre");
a3.add (segundo);
Label tercero= new Label("Tercer Trimestre");
a4.add (tercero);



b2.add (programacion1);
b3.add (programacion2);
b4.add (programacion3);


c2.add (analisis1);
c3.add (analisis2);
c4.add (analisis3);


d2.add (sistemas1);
d3.add (sistemas2);
d4.add (sistemas3);

e2.add (iea1);
e3.add(iea2);
e4.add (iea3);


// creamos una tabla dentro del panel
tabla.add (a1);
tabla.add (a2);
tabla.add (a3);
tabla.add (a4);

tabla.add (b1);
tabla.add (b2);
tabla.add (b3);
tabla.add (b4);

tabla.add (c1);
tabla.add (c2);
tabla.add (c3);
tabla.add (c4);

tabla.add (d1);
tabla.add (d2);
tabla.add (d3);
tabla.add (d4);

tabla.add (e1);
tabla.add (e2);
tabla.add (e3);
tabla.add (e4);


// dar color
central.setBackground(Color.YELLOW);

// muestra la ventana
ventana.setSize(800,300);
ventana.setVisible(true);
//creo una clase anonima que contiene el metodo cerrar vantana
ventana.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent ef)
{
System.exit(0);
}
});



//asociamos el evento a los textfield y asignamos el campo a una variable

nombre.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.onombre=nombre.getText();
}
});

curso.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.ocurso=curso.getText();
}
});

faltas.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.ofaltas=faltas.getText();
}
});

programacion1.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oprogramacion1=programacion1.getText();
}
});

programacion2.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oprogramacion2=programacion2.getText();
}
});

programacion3.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oprogramacion3=programacion3.getText();
}
});

analisis1.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oanalisis1=analisis1.getText();
}
});

analisis2.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oanalisis2=analisis2.getText();
}
});

analisis3.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oanalisis3=analisis3.getText();
}
});

sistemas1.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.osistemas1=sistemas1.getText();
}
});

sistemas2.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.osistemas2=sistemas2.getText();
}
});


sistemas3.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.osistemas3=sistemas3.getText();
}
});

iea1.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oiea1=iea1.getText();
}
});

iea2.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oiea2=iea2.getText();
}
});

iea3.addKeyListener(new KeyAdapter()
{
public void keyReleased(KeyEvent ke)
{
alumno.oiea3=iea3.getText();
}
});


Guardafichero pulsaboton =new Guardafichero();


guardar.addActionListener(pulsaboton);

Cargafichero pulsacarga= new Cargafichero();

cargar.addActionListener(pulsacarga);


}



}

class Guardafichero extends programita implements ActionListener
{
public void actionPerformed(ActionEvent n)
{
try
{

FileOutputStream fichero =new FileOutputStream("estudiante.txt",true);
ObjectOutputStream salida = new ObjectOutputStream (fichero);
salida.writeObject(alumno);
salida.close();

nombre.setText("");
curso.setText("");
faltas.setText("");

programacion1.setText("");
programacion2.setText("");
programacion3.setText("");

analisis1.setText("");
analisis2.setText("");
analisis3.setText("");

sistemas1.setText("");
sistemas2.setText("");
sistemas3.setText("");

iea1.setText("");
iea2.setText("");
iea3.setText("");

}
catch (FileNotFoundException e)
{

}
catch(IOException el)
{

}
}



}

class Cargafichero extends programita implements ActionListener
{
public void actionPerformed(ActionEvent n)
{
try
{

FileInputStream fichero =new FileInputStream("estudiante.txt");

ObjectInputStream entrada = new ObjectInputStream (fichero);
Atributos decarga=(Atributos) entrada.readObject();

nombre.setText(decarga.onombre);
curso.setText(decarga.ocurso);
faltas.setText(decarga.ofaltas);

programacion1.setText(decarga.oprogramacion1);
programacion2.setText(decarga.oprogramacion2);
programacion3.setText(decarga.oprogramacion3);

analisis1.setText(decarga.oanalisis1);
analisis2.setText(decarga.oanalisis2);
analisis3.setText(decarga.oanalisis3);

sistemas1.setText(decarga.osistemas1);
sistemas2.setText(decarga.osistemas2);
sistemas3.setText(decarga.osistemas3);

iea1.setText(decarga.oiea1);
iea2.setText(decarga.oiea2);
iea3.setText(decarga.oiea3);

}
catch (FileNotFoundException e)
{

}
catch(IOException el)
{

}
catch(ClassNotFoundException b)
{

}
}



}



class Atributos implements Serializable
{
String onombre;
String ocurso;
String ofaltas;

String oprogramacion1;
String oprogramacion2;
String oprogramacion3;

String oanalisis1;
String oanalisis2;
String oanalisis3;

String osistemas1;
String osistemas2;
String osistemas3;

String oiea1;
String oiea2;
String oiea3;

}