Los ejemplos en este artículo comparten el código específico del código fuente del sistema de gestión de información de estudiantes de Java para su referencia. El contenido específico es el siguiente
1. Clase de StudetManage (interfaz principal)
paquete com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; Public Class StudentManage extiende JFrame Implementos ActionListener { / ** * @param args * / public static void main (string [] args) {// toDo método generado automático stub new studentManage (); } // ======== Panel Control privado Jlabel QueryLab = NULL; privado jtextfield querytxt = null; Private JButton Querybtn = NULL; privado jbutton allbtn = null; JTABLE PRIVADO resultTb = null; privado jscrollpane jsp = null; privado jbutton addbtn = null; Private JButton DeleteBtn = NULL; Private JButton UpdateBtn = NULL; jpanel privado top = nulo; JPANEL PRIVADO BOTTER = NULL; // ======= Stumodel privado SM = NULL; // Constructor public student sanage () {/******************************** Inicializar el control del panel ****************************/// ======== Barra de consulta QueryLab = new JLabel ("Por favor ingrese un nombre:"); Querytxt = new JTextfield (10); QueryBtn = new JButton ("Query"); allbtn = new JButton ("Todos"); //...... Add Query Bar para escuchar Querybtn.addactionListener (esto); QueryBtn.SetActionCommand ("Query"); allbtn.addactionListener (this); allbtn.SetActionCommand ("Todos"); // ============ Add-and-Deletion Columna addBtn = new JButton ("Agregar"); deletebtn = new JButton ("Eliminar"); updateBtn = new JButton ("Modify"); //...... Add Add-and-Deletion Columna Escuchar addbtn.addactionListener (esto); addBtn.SetActionCommand ("Agregar"); deletebtn.addactionListener (this); deleteBtn.SetActionCommand ("Eliminar"); deletebtn.addactionListener (this); deleteBtn.SetActionCommand ("Eliminar"); updateBtn.AddactionListener (esto); updateBtn.SetActionCommand ("actualización"); // ======== Crea el diseño general de la ventana // ...... barra de consulta de nivel superior Top = new JPanel (); top.add (QueryLab); top.add (Querytxt); top.add (QueryBtn); top.add (Allbtn); // ...... la columna de adición de nivel inferior Bottom = new JPanel (); Bottom.Add (addBtn); Bottom.Add (deletebtn); Bottom.Add (UpdateBtn); // ...... Barra de pantalla de nivel medio SM = nuevo Stumodel (); Cadena sql = "select * de stu"; SM.Querystu (SQL, NULL); resultTb = new JTable (SM); jsp = new JScrollPane (resultTb); //.... ... this.Add (JSP, BorderLayout.Center); this.add (Bottom, BorderLayout.South); // ======= Establezca la propiedad de la ventana this.setsize (400, 300); this.setDefaultCloseOperation (jframe.exit_on_close); this.setVisible (verdadero); this.setResizable (falso); } // Escuchar @Override public void ActionperFormed (ActionEvent E) {// TODO Auto Generated Method Stub if (E.GetActionCommand (). Equals ("Query")) { /******************************************************* /// ========== ¡Obtenga el nombre del nombre de String de ESTUDIANTE = QUJERYTXT. if (name.length ()! = 0) {// ======== Cuando la entrada de nombre es válida, ejecute la consulta //...... Define la cadena del parámetro sql = "select * de stu donde stuname =?"; String [] paras = {name}; //...... superdo el modelo JTableUpdate (SQL, Paras); } else {// ========== Cuando el nombre está vacío, configure el recordatorio joptionPane.showMessEdialog (esta "entrada de nombre no puede estar vacía"); }} else if (e.getActionCommand (). Equals ("Agregar")) { / ************************************ / New Stuadddialog (esto, "Agregar información del estudiante", true); Cadena sql = "select * de stu"; JTableUpdate (SQL, NULL); } else if (e.getActionCommand (). Equals ("All")) { / ************************************ Todos los espectáculos *************************** / string sql = "select*from stu"; JTableUpdate (SQL, NULL); } else if (e.getActionCommand (). Equals ("Eliminar")) { /****************************************** // ======== Obtenga el número de línea de selección int ROWNUM = this.resulttb.getSelectedRow (); if (ROWNUM == -1) {jOptionPane.ShowMessEdialog (esto, "Seleccione una fila"); devolver ; } // ======== Obtenga el número de identificación de estudiante stuid = (string) sm.getValueat (Rownum, 0); // ========= Eliminar la cadena del estudiante sql = "eliminar de stu donde stuid =?"; String [] paras = {stuid}; Stumodel tmp = new stumodel (); tmp.cudstu (sql, párrs); // ========== Modelo de actualización sql = "Seleccionar * de Stu"; JTableUpdate (SQL, NULL); } else if (e.getActionCommand (). Equals ("Update")) { /*******************************************************************************************************************************************************************************************************************************************************enangranal ********. if (ROWNUM == -1) {jOptionPane.ShowMessEdialog (esto, "Seleccione una fila"); devolver ; } new Stuupdatedialog (this, "Modifique la información del estudiante", True, Sm, Rownum); Cadena sql = "select * de stu"; JTableUpdate (SQL, NULL); }} // ========= Datos de actualización en JTable public void jtableUpdate (String sql, string [] paras) {//...create modelo sm = new stumodel (); SM.Querystu (SQL, párrs.); //...... superpolate el resultTb.setModel (sm); }}2. Clase Stumodel (modelo de base de datos de estudiantes)
paquete com.sms3; import java.sql.resultset; import java.util.vector; import javax.swing.table.abstracttableModel; Public Class Stumodel extiende AbstractTableModel {private Vector ColumnNames; Demados de vector privados; // public stumodel () {String sql = "select * de stu"; String [] paras = {}; } // ======== Agregue y elimine a los estudiantes public Boolean Cudstu (String sql, string [] paras) {return new sqlHelper (). Cudexecute (SQL, Paras); } // === tiempos // ========= Inicializar la información jtable columnnames = new Vector (); RowDates = new Vector (); columnNames.Add ("Número de estudiante"); columnNames.add ("nombre"); columnNames.Add ("género"); columnNames.add ("edad"); columnNames.Add ("Inicio"); columnNames.Add ("Parte"); intente {sqlHelper = new SqlHelper (); ResultSet rs = sqlhelper.queryExecute (SQL, párricos); while (rs.next ()) {vector row = new Vector (); Row.Add (rs.getString (1)); Row.Add (rs.getString (2)); Row.Add (rs.getString (3)); Row.Add (rs.getString (4)); Row.add (rs.getString (5)); Row.Add (rs.getString (6)); Rowdates.add (fila); }} catch (Exception e) {// tODO: manejar excepción} finalmente {sqlhelper.close (); }} @Override public int getColumnCount () {// TODO Auto Generado Método Stub Devuelve this.columnnames.size (); } @Override public int getRowCount () {// TODO Auto Generado Método Stub Devuelve this.rowdates.size (); } @Override Public Object getValueat (int fila, int col) {// TODO Método generado automático STUB if (! RowDates.IsEmpty ()) return ((vector) this.rowdates.get (fila)). Get (col); de lo contrario regresa nulo; } @Override public String getColumnName (int columna) {// tODO Auto Generated Method Stub Return (String) this.columnnames.get (columna); }}3. Stuadddialog Clase (Agregar subinterfaz de información del estudiante)
paquete com.sms3; import java.awt.borderlayut; import java.awt.dialog; import java.awt.frame; import java.awt.gridLayout; import java.awt.event.actionEvent; import java.awt.event.actionListener; import javax.swing.*; Public Class Stuadddialog extiende Jdialog Implementos ActionListener {// ========= Panel Control // ...... Bar de título izquierdo Privado Jlabel Idlab, Namelab, Sexlab, Agelab, Jglab, DeptLab; //...... Seleccione Complete la información sobre el derecho de completar la columna JTEXTFIELD IDTXT, NAMETXT, SEXTXT, AGETXT, JGTXT, DEPTTXT; //...... Add and Cancel Button JButton AddBtn, cancelBtn; //......Playout Control Private Jpanel izquierda, centro, abajo; // Constructor public stuadddialog (propietario de marco, título de cadena, modal booleano) {// ======== Visite el método de clase principal Super (propietario, título, modal); // ============ La columna de la etiqueta a la izquierda es idlab = new JLabel ("Número de estudiante:"); namelab = new JLabel ("Nombre:"); sexlab = new JLabel ("Género:"); agelab = new JLabel ("Age:"); jglab = new JLabel ("Hometown:"); DeptLab = new JLabel ("Dirección:"); // ========== Complete la columna de información a la derecha es idtxt = new JTextField (); nametxt = new JTextField (); Sextxt = new JTextField (); agetxt = new JTextField (); agetxt = new JTextField (); agetxt = new JTextField (); jgtxt = new JTextField (); Depttxt = new JTextField (); // ========== Agregar y cancelar los botones addBtn = new JButton ("agregar"); cancelBtn = new JButton ("Cancelar"); //......Add escuchar addbtn.addactionListener (this); addBtn.SetActionCommand ("Agregar"); cancelBtn.AddactionListener (esto); cancelBtn.SetActionCommand ("Cancelar"); // ======= Crear diseño // ...... Crear columna izquierda = new JPanel (); Left.setLayout (nuevo GridLayout (6, 1)); izquierda.Add (idlab); izquierda.Add (namelab); izquierda.Add (SexLab); izquierda.Add (Agelab); Left.add (JGlab); izquierda.Add (DeptLab); //...... cree el centro de columna derecha = new JPanel (); Center.setLayout (nuevo GridLayout (6, 1)); Center.add (IDTXT); Center.add (nametxt); Center.add (Sextxt); Center.add (Agetxt); Center.add (JGTXT); Center.add (Depttxt); // ==================== El botón Agregar y Cancelar subyacente Bottom.Add (addBtn); Bottom.add (CancelBtn); // ========= Diseño general this.add (izquierda, borderLayout.west); this.add (Center, BorderLayout.Center); this.add (Bottom, BorderLayout.South); // ========== Set Atributo de la ventana de establecimiento this.setsize (300, 250); this.setResizable (falso); this.setVisible (verdadero); } @Override public Void ActionPerformed (ActionEvent E) {// TODO Auto Generado Método Stub if (e.getActionCommand (). Equals ("add")) { / ************************************************* / stumodel tmp = new stumodel ();; String sql = "insertar en valores stu (?,?,?,?,?,?)"; String [] paras = {idtxt.gettext (), nametxt.gettext (), sextt.gettext (), ageTxt.gettext (), jgtxt.gettext (), deunttxt.gettext ()}; if (! tmp.cudstu (sql, paras)) joptionPane.showMessEdialog (esto, "Agregar información del estudiante fallida"); // ======== Cierre la ventana this.dispose (); } else if (e.getActionCommand (). Equals ("Cancelar")) {// ======== Cerrar la ventana this.dispose (); }}}4. Stuupdatedialog Class (modificar la subinterfaz de información del estudiante)
paquete com.sms3; import java.awt.borderlayut; import java.awt.frame; import java.awt.gridLayout; import java.awt.event.actionEvent; import java.awt.event.actionListener; import javax.swing.jbutton; import javax.swing.jdialog; import javax.swing.jlabel; import javax.swing.JOptionPane; import javax.swing.jpanel; import javax.swing.jpanel; import javax.swing.jTextfield; import javax.swing.table.abstracttableModel; Public Class Stuupdatedialog extiende Jdialog Implementos ActionListener {// ========= Panel Controls // ...... Bar de título izquierdo Privado Jlabel Idlab, Namelab, Sexlab, Agelab, Jglab, DeptLab; //...... Información derecho Seleccione Complete la columna JTEXTFIELD IDTXT, NAMETXT, SEXTXT, AGETXT, JGTXT, DEPTTXT; //...Add y cancelar botón privado jbutton addbtn, cancelBtn; //......Playout Control Private Jpanel izquierda, centro, abajo; // Constructor public stuupdatedialog (propietario de cuadros, título de cadena, modal booleano, stumodel sm, int rownum) {// ========= Visite el método de clase principal Super (propietario, título, modal); // =========== La barra de la etiqueta izquierda idlab = new JLabel ("Número de estudiante:"); namelab = new JLabel ("Nombre:"); sexlab = new JLabel ("Género:"); agelab = new JLabel ("Age:"); jglab = new JLabel ("Hometown:"); DeptLab = new JLabel ("Dimension:"); // ========= Complete la información en el lado derecho idtxt = new JTextField (); idtxt.settext ((string) sm.getValueat (Rownum, 0)); idtxt.setedable (falso); nametxt = new JTextField (); nametxt.settext ((string) sm.getValueat (Rownum, 1)); Sextxt = new JTextField (); sextxt.settext ((string) sm.getValueat (Rownum, 2)); agetxt = new JTextField (); agetxt.settext ((string) sm.getValueat (Rownum, 3)); jgtxt = new JTextField (); jgtxt.settext ((string) sm.getValueat (Rownum, 4)); Depttxt = new JTextField (); Depttxt.settext ((String) Sm.getValueat (Rownum, 5)); // ======== Agregar y cancelar los botones addBtn = new JButton ("modificar"); cancelBtn = new JButton ("Cancelar"); //......Add escuchar addbtn.addactionListener (this); addBtn.SetActionCommand ("actualización"); cancelBtn.AddactionListener (esto); cancelBtn.SetActionCommand ("Cancelar"); // ======== Crear diseño // ...... Crear izquierda = new JPanel (); Left.setLayout (nuevo GridLayout (6, 1)); izquierda.Add (idlab); izquierda.Add (namelab); izquierda.Add (SexLab); izquierda.Add (Agelab); Left.add (JGlab); izquierda.Add (DeptLab); //...... cree el centro de columna derecha = new JPanel (); Center.setLayout (nuevo GridLayout (6, 1)); Center.add (IDTXT); Center.add (nametxt); Center.add (Sextxt); Center.add (Agetxt); Center.add (JGTXT); Center.add (Depttxt); // ============ La capa inferior Agregar y cancelar el botón Bottom = new JPanel (); Bottom.Add (addBtn); Bottom.add (CancelBtn); // ======== Diseño general this.add (izquierda, borderLayout.west); this.add (Center, BorderLayout.Center); this.add (Bottom, BorderLayout.South); // ========== Set Atributo de la ventana de establecimiento this.setsize (300, 250); this.setResizable (falso); this.setVisible (verdadero); } @Override public void ActionPerformed (ActionEvent E) {// TODO Auto Generado Método STUB if (E.GetActionCommand (). Equals ("Update")) { / ************************************************** / stumodel tmp = new stumodel ();; String sql = "Update stu set stuname =?, Stusex =?, Stuage =?, Stujg =?, Studept =? Where stuid =?"; String [] paras = {nametxt.gettext (), sextxt.gettext (), ageTxt.gettext (), jgtxt.gettext (), depttxt.gettext (), idtxt.gettext ()}; if (! tmp.cudstu (sql, paras)) joptionPane.showMessEdialog (esto, "no se pudo modificar la información del estudiante"); // ======== Cierre la ventana this.dispose (); } else if (e.getActionCommand (). Equals ("Cancelar")) {// ======== Cerrar la ventana this.dispose (); }}} 5. Clase SQLHelper (clase de base de datos más baja)
paquete com.sms3; import java.sql.*; clase pública sqlHelper {// ========= Base de datos Conexión privada ct = null; Preparado privado PS = NULL; Resultset privado rs = nulo; Private String Driver = "com.microsoft.sqlserver.jdbc.sqlserverdriver"; String private url = "jdbc: sqlserver: //127.0.0.1: 1433; database = studentman"; String private String user = "SA"; cadena privada passwd = "****"; // ========== Public ProvenSet QueryExecute (String sql, string [] paras) {try {// ======== 1. Cargar el controlador clase.forname (controlador); // ======== 2. Conectar ct = drivermanager.getConnection (url, usuario, passwd); // ======== 3. Crear preparates PS = ct.preparestatement (SQL); // ======== 4. Asigne un valor al signo de interrogación if (paras! = Null) {for (int i = 0; i <paras.length; i ++) {ps.setString (i+1, párricos [i]); }} // ======= 5. Ejecutar rs = ps.ExecuteQuery (); } catch (Exception e) {// tODO: manejar excepción E.PrintStackTrace (); } finalmente {//this.close (); } // ========= Valor de retorno Devuelve RS; } // ======== Agregue o elimine public Boolean CudExecute (String Sql, String [] Paras) {boolean b = true; Prueba {// ======== 1. Cargar el controlador clase.forname (controlador); // ======= 2. Conectar ct = drivermanager.getConnection (url, usuario, passwd); // ======= 3. Crear preparates PS = ct.preparestatement (SQL); // ======== 4. Asigne un valor al signo de interrogación para (int i = 0; i <paras.length; i ++) {ps.setString (i+1, paras [i]); } // ======== 5. Ejecutar if (ps.ExecuteUpdate ()! = 1) b = false; } catch (Exception e) {// tODO: manejar excepción b = falso; E.PrintStackTrace (); } finalmente {this.close (); } // ========== Valor de retorno Return B; } // ========== Cerrar recursos públicos Void Close () {try {if (rs! = Null) rs.close (); if (ps! = null) ps.close (); if (ct! = null) ct.close (); } catch (Exception e2) {// tODO: manejar excepción e2.printstacktrace (); }}}Interfaz principal
Agregar interfaz de información del estudiante
Modificar la interfaz de información del estudiante
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.