//Proyecto de grupo Java _ código fuente de gestión de estudiantes
//Entorno NetBeans IDE 6.5
Paquete Studentmanager
Importar Java .awt .*;
Importar Java .
. >Importar Java . util *;
clase Estudiante implementa java.io.Serializable{
Número de cadena, nombre, especialización, grado, nacimiento, género;
p>
Estudiante público(){ };
número de conjunto vacío público (número de cadena){ this . número = número;}
Número de obtención de cadena pública (){ número de retorno;}
nombre de conjunto vacío público (nombre de cadena){ this . nombre = nombre;}
cadena pública getName(){ nombre de retorno;}
public void setSex(String sex){ this . sex = sex;}
Cadena pública getSex(){ return sex;}
public void setSpecialty(Especialidad de cadena) { this . especialidad = especialidad;}
Cadena pública get especialidad(){ return especialidad;}
calificación de conjunto vacío público (calificación de cadena) { this . /p>
Cadena pública obtener calificación(){ devolver calificación;}
public void set borth(String borth){ this borth = borth;}
Cadena pública obtener. borth(){ return borth;}
}
La clase pública StudentManager extiende JFrame{
Jlabelb = newjlabel("Ingrese el registro de entrada, ingrese el número de estudiante para consultar y eliminar, cámbielo para consultar "
"¡Guarde el contenido modificado! ");
Número de estudiante de JTextField, nombre, especialidad, grado, nacimiento;
JRadioButton, masculino y femenino;
Grupo ButtonGroup = null
JButton ingresa, consulta, elimina, modifica y muestra;
JPanel p1, p2, p3, p4, p5, p6, pv, ph;
Estudiante Estudiante = null
Tabla hash de estudiante Hashtable = nula
Archivo archivo = nulo
FileInputStream inOne = nulo
ObjectInputStream inTwo = nulo
FileOutputStream outOne = nulo<
/p>
ObjectOutputStream outTwo = null
public StudentManager(){
Super("Sistema de gestión de información básica del estudiante");
ID del estudiante= nuevo JTextField(10);
nombre = nuevo JTextField(10);
mayor = nuevo JTextField(10);
grado = nuevo JTextField(10) ;
nacimiento = nuevo JTextField(10);
grupo = nuevo grupo de botones();
Hombre =nuevo JRadioButton ("masculino", verdadero);
Mujer=new JRadioButton("Mujer", false);
Grupo.add(Masculino);
Grupo.add(Mujer);
entrada = nuevo JButton(" entrada ");
consulta = nuevo JButton(" consulta ");
eliminar = nuevo JButton(" eliminar "); p> p>
modificar = nuevo JButton(" modificar ");
mostrar = nuevo JButton(" mostrar ");
Entrar. addActionListener(new inputtact());
Consulta. addactionlistener(Nueva Ley de Consulta());
Modificar. addActionListener(nueva ley de modificación());
Eliminar. addActionListener(new DeleteAct());
Mostrar. addActionListener(new ShowAct());
Modificar. set enable(false);
p 1 = new JPanel();
P1.add(new JLabel("ID de estudiante:", JLabel. Centrado));
P1.add(número de estudiante);
p2 = nuevo JPanel();
P2.add(nuevo JLabel ("nombre:", JLabel. Centrado)) ;
P2.add(nombre);
P3 = nuevo JPanel();
P3.add(nuevo JLabel("Género:", JLabel. Centrado));
P3.add(masculino);
P3.add(femenino);
P4 = new JPanel();
P4.add(new JLabel ("principal:", JLabel.Centered));
P4.add(principal);
P5 = nuevo JPanel();
P5.add(new JLabel ("grado:", JLabel. Centrado));
P5.add(grado
P6 = nuevo JPanel( );
P6.add(new JLabel("Nacido:", JLabel.
Centrado));
P6.add(born);
PV = new JPanel();
pv.setLayout(new GridLayout(6, 1)
PV agregar(p 1);
PV agregar(p2); p>PV agregar(P4);
PV agregar(P5);
PV agregar(P6); ;
F.add(entrada);
F.add(consulta);
F.add(modificación);
Ph.add(eliminado);
Ph.add(display);
File=new File("Información del estudiante.txt");
Tabla hash del estudiante = nueva tabla hash();
if (!file.exists()){
prueba{
flujo de salida del archivo = nuevo flujo de salida del archivo(archivo );
flujo de salida del objeto salida del objeto = nuevo flujo de salida del objeto (salida);
ObjectOut.writeObject(tabla hash del estudiante);
cierre del objeto. ();
fuera . close();
}
catch(IOException e){}
}
contenedor con = getContentPane();
con conjunto de diseño(new BorderLayout()
con.add(lb, BorderLayout. North
);con.add(pv, BorderLayout. Center);
con.add(ph, BorderLayout. Sur);
setDefaultCloseOperation(EXIT _ ON _ CLOSE ); p>
setBounds(100, 100, 600, 300);
set visible(true);
}
public static void main(String). []args){ nuevo administrador de estudiantes();}
Class InputAct implementa ActionListener{
acción de anulación pública realizada (evento de acción e){
Modificar. set enable(false);
Número de cadena = " ";
Número = número de estudiante.
getText();
if(número . length() gt; 0){
Pruebe {
inOne=new FileInputStream(archivo);
int wo = new ObjectInputStream(inOne);
student Hashtable =(Hashtable)int wo . >
int wo . close();
}
Catch (excepción) {system. out.println("¡Hubo un problema al crear la tabla hash!");}
If (Tabla hash del estudiante. Contiene clave (número)){
String advertencia= "La La información del estudiante ya existe, vaya a la página de modificación para modificarla ";
Joptionpane. show messageDialog(empty, advertencia, "advertencia",
JOptionPane.WARNING_MESSAGE
} //end if1
else {
p>);String m= "¡Se ingresará la información del estudiante!";
Intok = Panel de opciones. ShowConfirmilog (null, m, "confirmar",
JOptionPane.YES_NO_OPTION, JOptionPane.info_message);
if (ok==JOptionPane.YES_OPTION){
Nombre de cadena = nombre. getText();
Cadena profesional = profesional. getText();
cadena calificación = calificación. gettext();
Stringborn = nacido. getText();
Cadena sexo = null
if(masculino. está seleccionado()){ sexo = masculino gettext();}
Else{. sexo = femenino. getText();}
Estudiante = Freshman();
Estudiante. setNumber(número);
Estudiante. setName(nombre);
Estudiante. setEspecialidad(profesional);
Estudiante. setGrade(calificación);
Estudiante. Borth;
Estudiante. setSex(sex);
Pruebe {
outOne=new FileOutputStream(file);
salida dos = nuevo flujo de salida de objeto (salida uno); p>
p>
Tabla hash de estudiantes. poner ($NÚMERO, estudiante);
OutTwo.writeObject (tabla hash de estudiante
salir dos
salir uno . );
}
Catch (excepción) {system. out.println("¡Hay un problema con la tabla hash de salida!");}
Tarjeta de identificación de estudiante. setText(vacío);
Nombre. setText(vacío);
Profesional. setText(vacío);
Nivel.
setText(vacío);
Innato. setText(empty);
}
}//end else1
}//end if0
else{
String advertencia= "¡Se debe ingresar el número de estudiante!";
JOptionPane.showMessageDialog(empty, advertencia,
"advertencia", jooptionpane. advertencia_message);
}//finalizar else0
}//Finalizar la operación ejecutada
}//Finalizar la clase
El método de interrogación de clase implementa ActionListener{ p>
Acción de anulación pública realizada (evento de acción e){
Número de cadena = " ";
Número = número de estudiante. getText();
if(número . length() gt; 0){
Pruebe {
inOne=new FileInputStream(archivo);
int wo = new ObjectInputStream(inOne);
student Hashtable =(Hashtable)int wo . >
int wo . close();
}
Catch (excepción) {system. out.println("¡Hay un problema con la tabla hash!");}
If (Tabla hash del estudiante. Contiene clave (número)) {
Modificar. setEnabled(true);
Student stu=(estudiante) tabla hash de estudiante. get($NÚMERO);
Nombre. setText(stu . getname());
Mayor. setText(stu . get especialidad());
Nivel. setText(stu . get grade());
Innata. setText(stu.getSex());
If(stu.getSex().Equals("male"){Male.set seleccionado(true);}
Else{Female . conjunto seleccionado (verdadero);}
}
De lo contrario {
Modificar conjunto habilitado (falso);
String advertencia = ". ¡El ID de estudiante no existe!";
JOptionPane.showMessageDialog(empty, advertencia,
"advertencia", jooptionpane. advertencia_message);
} p>
}
De lo contrario{
Modificar conjunto habilitado(false);
String advertencia= "¡Se debe ingresar el número de estudiante!"; p>
JOptionPane.showMessageDialog(null, advertencia,
"advertencia", jooptionpane.
advertencia _ mensaje);
}
}
}
La clase ModifyAct implementa ActionListener{
public void acción realizada(evento de acción e){
Número de cadena = número de estudiante. getText();
Nombre de cadena = nombre. getText();
Cadena profesional = profesional. getText();
cadena calificación = calificación. gettext();
Stringborn = nacido. getText();
Cadena sexo = null
if(masculino. está seleccionado()){ sexo = masculino gettext();}
Else{. sexo = femenino. getText();}
Estudiante Estudiante = Freshman();
Estudiante. setNumber(número);
Estudiante. setName(nombre);
Estudiante. setEspecialidad(profesional);
Estudiante. setGrade(calificación);
Estudiante. Borth;
Estudiante. setSex(sex);
Pruebe {
outOne=new FileOutputStream(file);
salida dos = nuevo flujo de salida de objeto (salida uno); p>
p>
Tabla hash de estudiantes. poner ($NÚMERO, estudiante);
OutTwo.writeObject (tabla hash de estudiante
salir dos
salir uno . );
DNI de estudiante. setText(vacío);
Nombre. setText(vacío);
Profesional. setText(vacío);
Nivel. setText(vacío);
Innato. setText(empty);
}
catch(Exceptionee){
System.out.println("¡Excepción en la modificación de la entrada!");
Modificar. set enable(false);
}
}
}
La clase DeleteAct implementa ActionListener{
público acción anulada realizada (evento de acción e){
Modificar. set enable(false);
Número de cadena = número de estudiante.
getText();
if(número . length() gt; 0){
Pruebe {
inOne=new FileInputStream(archivo);
int wo = new ObjectInputStream(inOne);
student Hashtable =(Hashtable)int wo . >
int wo . close();
}
catch(Exception ee){}
If (tabla hash del estudiante. Contiene clave ( Número )){
Estudiante stu=(Estudiante)Tabla hash de estudiantes. get($NÚMERO);
Nombre. setText(stu . getname());
Mayor. setText(stu . get especialidad());
Nivel. setText(stu . get grade());
Innato. setText(stu.getSex());
If(stu.getSex().Equals("male"){Male.set seleccionado(true);}
Else{Female .set selected(true);}
}
String m= "¿Estás seguro de que deseas eliminar el registro de este estudiante?";
Intok = Joption. cuadrícula de ventana ShowConfirmilog (null, m, "confirmar",
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
Student HashTable.Remove($NUMBER);
Prueba {
outOne=new FileOutputStream(file);
out two = nuevo flujo de salida de objeto (fuera uno);
OutTwo.writeObject(tabla hash del estudiante);
fuera dos . /p>
ID de estudiante. setText(vacío);
Nombre. setText(vacío);
Nivel profesional.
Innato. setText(vacío);
catch(Exception ee){ system out . p>else if(ok==JOptionPane.NO_OPTION){
ID de estudiante. setText(vacío);
Nombre setText(null); . setText(nulo);
Rango de.
setText(empty);
}
De lo contrario{
String advertencia= "¡La identificación del estudiante no existe!";
JOptionPane . showMessageDialog(null, advertencia,
"advertencia", jooptionpane. advertencia_message
}
}
else {< /); p>
String advertencia= "¡Se debe ingresar el número de estudiante!";
JOptionPane.showMessageDialog(empty, advertencia,
"advertencia", jooptionpane. advertencia_message ); p>
}
}
}
La clase ShowAct implementa ActionListener{
acción de anulación pública realizada (evento de acción e) {
Freshman Show (Archivo);
}
}
¿Cómo extienden los estudiantes JDialog?{
Tabla hash de estudiante Hashtable = nula
Pantalla JTextArea = nula
FileInputStream inOne = nula
ObjectInputStream inTwo = nulo
Archivo de archivo = nulo
public StudentShow(Archivo archivo){
Super(new JFrame(), "Mostrar cuadro de diálogo");
this.file = archivo
Display =new JTextArea(16,30);
Pruebe {
inOne=new FileInputStream(archivo);
int wo = new ObjectInputStream (enUno);
estudiante Hashtable =(Hashtable)int wo . );
}
catch(Exception ee){}
If(Tabla hash del estudiante. isEmpty()) visualización. append("¡Aún no hay ningún registro de información del estudiante!\n ");
De lo contrario{
Mostrar. setText("ID de estudiante, nombre, sexo, nivel profesional, nacimiento\n ");
For(Enumeración enm=tabla hash de estudiantes.elements();enm.hasmoreelements();){
p>
Estudiante stu =(Estudiante)enm . nextelement();
Sexo de cadena =
If(stu.getSex().
igual ("masculino"))sexo = "masculino";
Else sexo= "femenino";
Cadena str=stu.getNumber() "," stu.getName() "," sexo ", "
stu.getSpecialty() ", " stu.getGrade() ", " stu.getborth() " \n ";
Visualización. append(cadena);
}
}
jscrollpane scroll = new jscrollpane(display);
contenedor con = getContentPane( ) ;
con.add("centrado", desplazamiento);
con .validez()
set visible(true); p>setBounds(200, 200, 400, 300);
addWindowListener(nuevo adaptador de ventana(){
cierre de ventana pública vacía (evento de ventana e){ set visible(false) ;}
}
);
}
}
}