Proyecto de graduación y tesis "Diseño e implementación de un sistema de gestión de información estudiantil basado en Java"

Sólo para su referencia.

//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>

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

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>

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{

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

}

}

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>

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

}

}

}

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

}

);

}

}

}