Les exemples de cet article partagent le code spécifique du code source du système de gestion de l'information des étudiants Java pour votre référence. Le contenu spécifique est le suivant
1.STUDETMANAGE CLASS (Interface principale)
package com.sms3; import java.awt. *; importer javax.swing. *; import java.awt.event. *; La classe publique StudentManage étend JFrame implémente ActionListener {/ ** * @param args * / public static void main (String [] args) {// Todo Méthode générée automatiquement Stub New StudentManage (); } // ======== CONTRÔLE DE PANNEUX JLABEL JLABEL QUARYLAB = NULL; JETTHFIELD PRIVATE QUARYTXT = NULL; privé jbutton queryBtn = null; privé jbutton allbtn = null; private jTable resultTb = null; jscrollpane privé jsp = null; privé jbutton addbtn = null; JBUTTON privé Deletebtn = null; privé jbutton updateBtn = null; Top Jpanel privé = null; Jpanel privé en bas = null; // ======= Stumodel privé sm = null; // Constructeur public étudiant () {/ ****************************** Initialisez le contrôle du panneau ********************** / // ======== Query Bar QueryLab = new JLabel ("s'il vous plaît entrez un nom:"); querytxt = new JTextField (10); queryBtn = new JBUTTON ("Query"); allBtn = new JButton ("all"); //......Add Query Bar pour écouter queryBtn.AddActionListener (this); queryBtn.SetActionCommand ("Query"); allBtn.AddactionListener (this); allBtn.SetActionCommand ("all"); // =========== Colonne Add-et-Démission addBtn = new JBUTTON ("add"); DeleteBtn = new JButton ("Delete"); UpdatedBtn = new JBUTTON ("Modifier"); //......Add colonne add-and-dissetion écouter addbtn.addactionListener (this); addbtn.setActionCommand ("add"); DeleteBtn.AddactionListener (this); DeleteBtn.SetActionCommand ("Delete"); DeleteBtn.AddactionListener (this); DeleteBtn.SetActionCommand ("Delete"); updateBtn.AddActionListener (this); UpdateBtn.SetActionCommand ("Update"); // ======== Créez la disposition globale de la fenêtre // ...... Bar de requête de niveau supérieur top = new JPanel (); top.add (queryLab); top.add (querytxt); top.add (queryBtn); top.add (allbtn); // ...... la colonne Add-and-Destion de niveau inférieur en bas = new JPanel (); inférieur.add (addBtn); inférieur.add (DeleteBtn); inférieur.add (UpdateBtn); // ...... barre d'affichage de niveau intermédiaire sm = new Stumodel (); String SQL = "SELECT * FROM STU"; Sm.Querystu (SQL, null); resultTb = new JTable (sm); jsp = new JscrollPane (resultTB); //...... Construct la mise en page globale this.add (top, borderlayout.north); this.add (jsp, borderlayout.center); this.add (en bas, borderlayout.south); // ======= Définissez la propriété de la fenêtre this.setSize (400, 300); this.setDefaultCloseOperation (jframe.exit_on_close); this.setVisible (true); this.setResiSable (false); } // écouter @Override public void ActionPerformed (ActionEvent e) {// Todo Méthode générée automatiquement Stume if (e.getActionCommand (). if (name.length ()! = 0) {// ======== Lorsque l'entrée du nom est valide, exécutez la requête //......define la chaîne de paramètre sql = "select * from stu où étalame =?"; String [] parAs = {name}; //......Update le modèle jTableUpdate (SQL, parAs); } else {// ========== Lorsque le nom est vide, définissez le rappel joptionpane.showMessageDialog (this, "l'entrée du nom ne peut pas être vide"); }} else if (e.getActionCommand (). equals ("add")) {/ ************************************** / nouveau StuaddDialog (this, "Add Student Information", true); String SQL = "SELECT * FROM STU"; JTableUpdate (SQL, null); } else if (e.getActionCommand (). equals ("all")) {/ *******************************************************************************************************************************************************************onne = "select * from stu"; JTableUpdate (SQL, null); } else if (e.getActionCommand (). Equals ("Delete")) {/ ************************************** / // ======= Obtenez le numéro de ligne de sélection int Rownum = this.resultTb.getSelectedRow (); if (rownum == -1) {joptionpane.showMessageDialog (this, "Veuillez sélectionner une ligne"); retour ; } // ======== Obtenez le numéro d'étudiant String Stuid = (String) sm.getValueat (Rownum, 0); // ========= Supprimer la chaîne étudiante sql = "Supprimer de Stu où Stuid =?"; String [] parAs = {Stuid}; Stumodel tmp = new Stumodel (); tmp.cudstu (SQL, parAs); // ========== Mise à jour du modèle SQL = "SELECT * FROM STU"; JTableUpdate (SQL, null); } else if (e.getActionCommand (). Equals ("Update")) {/ ********************************** MODIFY ************************ / // ======== Obtenir le numéro de ligne de sélection int Rownum = this.Resulttb.getSelectRow (); if (rownum == -1) {joptionpane.showMessageDialog (this, "Veuillez sélectionner une ligne"); retour ; } new Stuupdatedialog (this, "modifier les informations de l'élève", true, sm, rownum); String SQL = "SELECT * FROM STU"; JTableUpdate (SQL, null); }} // ========== Données de mise à jour dans JTable public void jTableUpdate (String Sql, String [] parAs) {//...create modèle sm = new Stumodel (); Sm.Querystu (SQL, paras); //......Update le résultattb.setModel (sm); }}2. Classe Stumodel (modèle de base de données des élèves)
package com.sms3; import java.sql.resultSet; Importer java.util.vector; Importer javax.swing.Table.AbstractTableModel; La classe publique Stumodel étend AbstractTableModel {Private Vector ColumnNames; Private Vector Rowdates; // public stumodel () {String sql = "select * from stu"; String [] parAs = {}; } // ======= Ajouter et supprimer les étudiants public booléen cudstu (String Sql, String [] parAs) {return new Sqlhelper (). CudexEcute (SQL, parAs); } // ========= Query L'étudiant public void querystu (String sql, string [] parAs) {sqlhelper sqlhelper = null; // ========= Initialize JTable Information ColumnNames = new Vector (); RowDates = new Vector (); ColumnNames.Add ("Numéro d'étudiant"); colmnNames.add ("name"); ColumnNames.Add ("Gender"); ColumnNames.Add ("Age"); ColumnNames.Add ("Home"); colnumnNames.add ("partie"); try {sqlhelper = new sqlhelper (); ResultSet rs = sqlhelper.QueryExecute (SQL, parAs); 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 (row); }} catch (exception e) {// todo: gère exception} enfin {sqlhelper.close (); }} @Override public int getColumnCount () {// TODO Méthode générée automatiquement } @Override public int getrowCount () {// TODO Méthode générée automatique Stume return this.rowdates.size (); } @Override public objet getValueat (int row, int col) {// TODO Méthode générée automatiquement stub if (! Rowdates.isempty ()) return ((vector) this.rowdates.get (row)). Get (col); sinon retourne null; } @Override public String getColumnName (int colonne) {// TODO Méthode générée automatique Stub return (string) this.columnNames.get (colonne); }}3. Classe StuaddDialog (Ajouter un sous-interface d'informations sur les élèves)
package com.sms3; import java.awt.borderLayout; import java.awt.dialog; import java.awt.frame; import java.awt.gridLayout; import java.awt.event.actionEvent; import java.awt.event.actionListener; importer javax.swing. *; La classe publique StuaddDialog étend JDialog implémente ActionListener {// ========= Contrôle du panneau // ...... Bar du titre de gauche Private Jlabel idlab, NameLab, SexLab, Agelab, Jglab, DeptLab; //......Select remplissez les informations à droite pour remplir la colonne privée jTextField idtxt, nametxt, sexxt, Agetxt, jgtxt, depttxt; //......Add et Annuler le bouton privé jbutton addbtn, annulebtn; //......Layout Control Private Jpanel gauche, centre, bas; // Constructeur public StuaddDialog (propriétaire de trame, titre de chaîne, booléen modal) {// ======= Réécrivez la méthode de la classe parent Super (propriétaire, title, modal); // =========== La colonne de balise à gauche est idLab = new JLabel ("Numéro d'étudiant:"); nameLab = new JLabel ("name:"); SexLab = new JLabel ("Gender:"); Agelab = new Jlabel ("Âge:"); JGLAB = new JLabel ("Ville natale:"); deptLab = new JLabel ("Direction:"); // ======== 4 Remplissez la colonne d'information à droite est idtxt = new JTextField (); nametxt = new JTextField (); sextxt = new JTextField (); Agetxt = new JTextField (); Agetxt = new JTextField (); Agetxt = new JTextField (); jgtxt = new JTextField (); depttxt = new JTextField (); // ========== Ajouter et annuler les boutons addBtn = new JButton ("add"); CancelBtn = new JBUTTON ("COMMER"); //......Add écouter addbtn.addactionListener (this); addbtn.setActionCommand ("add"); CancelBtn.AddActionListener (this); CancelBtn.SetActionCommand ("Cancel"); // ======= Créer la mise en page // ...... Créer une colonne de gauche = new JPanel (); Left.SetLayout (new GridLayout (6, 1)); Left.add (idLab); Left.add (NameLab); Left.add (sexlab); Left.add (Agelab); Left.add (jGlab); Left.add (DeptLab); //......Create le centre de colonne de droite = new JPanel (); Centre.SetLayout (nouveau GridLayout (6, 1)); Centre.Add (idtxt); Centre.Add (Nametxt); Centre.Add (Sexxtxt); Centre.Add (Agetxt); Centre.Add (JGTXT); Centre.Add (Depttxt); // =================== Le bouton Add et Annuler sous-jacent en bas = new JPanel (); inférieur.add (addBtn); inférieur.add (annuler); // ========= Disposition globale this.add (gauche, borderLayout.West); this.add (centre, borderlayout.center); this.add (en bas, borderlayout.south); // ========== Set Window Attribut this.setSize (300, 250); this.setResiSable (false); this.setVisible (true); } @Override public void ActionPerformEd (ActionEvent e) {// TODO Méthode générée automatiquement Stub if (e.getActionCommand (). String sql = "Insérer dans les valeurs Stu (?,?,?,? ,?)"; String [] parAs = {idtxt.getText (), nametxt.getText (), sexxtxt.getText (), Agetxt.getText (), jgtxt.getText (), depttxt.getText ()}; if (! tmp.cudstu (sql, parAs)) joptionpane.showMessageDialog (this, "ajouter les informations de l'étudiant échoué"); // ======== Fermez la fenêtre this.dispose (); } else if (e.getActionCommand (). equals ("annuler")) {// ======= Fermez la fenêtre this.dispose (); }}}4. Classe Stuupdatedialog (Modifier le sous-interface des informations de l'élève)
package com.sms3; import java.awt.borderLayout; 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; Importer javax.swing.Table.AbstractTableModel; La classe publique StuupDatedialog étend JDialog implémente ActionListener {// ========= COMMANDES DE PANNEUX // ...... Bar du titre de gauche Private Jlabel idlab, NameLab, SexLab, Agelab, Jglab, DeptLab; //...... Informations droites Sélectionnez Rempliez la colonne privée jTextField idtxt, NameTxt, Sexxtxt, Agetxt, jgtxt, depttxt; //...Add et bouton d'annulation privé jbutton addbtn, annulebtn; //......Layout Control Private Jpanel gauche, centre, bas; // Constructeur public stuupdatedialog (propriétaire de cadre, titre de chaîne, booléen modal, stumodel sm, int rownum) {// ======== Réécrivez la méthode de la classe parent super (propriétaire, title, modal); // =========== La barre de la marque gauche idLab = new JLabel ("Numéro d'étudiant:"); nameLab = new JLabel ("name:"); SexLab = new JLabel ("Gender:"); Agelab = new Jlabel ("Âge:"); JGLAB = new JLabel ("Ville natale:"); deptLab = new JLabel ("Dimension:"); // ======== Remplissez les informations sur le côté droit idtxt = new JTextField (); idtxt.seTText ((String) sm.getValueat (Rownum, 0)); idtxt.setEdIT (false); nametxt = new JTextField (); nametxt.setText ((String) sm.getValueat (Rownum, 1)); sextxt = new JTextField (); Sexxtxt.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)); // ======== Ajouter et annuler les boutons addBtn = new JButton ("modifier"); CancelBtn = new JBUTTON ("COMMER"); //......Add écouter addbtn.addactionListener (this); addBtn.SetActionCommand ("Update"); CancelBtn.AddActionListener (this); CancelBtn.SetActionCommand ("Cancel"); // ======== Créer la mise en page // ...... Créer Left = new JPanel (); Left.SetLayout (new GridLayout (6, 1)); Left.add (idLab); Left.add (NameLab); Left.add (sexlab); Left.add (Agelab); Left.add (jGlab); Left.add (DeptLab); //......Create le centre de colonne de droite = new JPanel (); Centre.SetLayout (nouveau GridLayout (6, 1)); Centre.Add (idtxt); Centre.Add (Nametxt); Centre.Add (Sexxtxt); Centre.Add (Agetxt); Centre.Add (JGTXT); Centre.Add (Depttxt); // ============ La couche inférieure Ajouter et Annuler le bouton en bas = new JPanel (); inférieur.add (addBtn); inférieur.add (annuler); // ======== Disposition globale this.add (Left, BorderLayout.West); this.add (centre, borderlayout.center); this.add (en bas, borderlayout.south); // ========== Set Window Attribut this.setSize (300, 250); this.setResiSable (false); this.setVisible (true); } @Override public void ActionPerformed (ActionEvent e) {// TODO Méthode générée automatiquement Stub if (e.getActionCommand (). String sql = "Update Stu set étourdissement =?, Stusex =?, Stuage =?, Stujg =?, Studpt =? Where Stuid =?"; String [] parAs = {nametxt.getText (), sexxtxt.getText (), Agetxt.GetText (), jgtxt.getText (), depttxt.getText (), idtxt.getText ()}; if (! tmp.cudstu (SQL, parAs)) joptionpane.showMessageAdIalog (this, "n'a pas modifié les informations des élèves"); // ======== Fermez la fenêtre this.dispose (); } else if (e.getActionCommand (). equals ("annuler")) {// ======= Fermez la fenêtre this.dispose (); }}} 5. Classe Sqlhelper (classe de base de données la plus basse)
package com.sms3; Importer java.sql. *; classe publique Sqlhelper {// ========= Connexion privée de la base de données CT = NULL; Private Preadstatement ps = null; ResultSet privé rs = null; String Private String Driver = "com.microsoft.sqlserver.jdbc.sqlServerDriver"; Url de chaîne privée = "JDBC: SqlServer: //127.0.0.1: 1433; database = étudiant"; chaîne privée utilisateur = "SA"; chaîne privée passwd = "****"; // ========== Query Public ResultSet QueryExecute (String Sql, String [] ParaS) {try {// ======== 1. Chargez le pilote class.forname (pilote); // ======== 2. Connect ct = driverManager.getConnection (URL, utilisateur, passwd); // ======== 3. Créer PREAKETSATATION PS = CT.PREPARESTATION (SQL); // ======== 4. Attribuer une valeur à la marque d'interrogation if (paraS! = Null) {for (int i = 0; i <paraS.length; i ++) {ps.setstring (i + 1, paraS [i]); }} // ======= 5. Exécuter rs = ps.ExecuteQuery (); } catch (exception e) {// todo: gère l'exception e.printStackTrace (); } enfin {//this.close (); } // ======== La valeur de retour retour RETOUR RS; } // ======= Ajouter ou supprimer le public booléen cudexecute (String sql, string [] parAs) {boolean b = true; Essayez {// ======== 1. Chargez le pilote class.forname (pilote); // ======= 2. Connect ct = driverManager.getConnection (URL, utilisateur, passwd); // ======= 3. Créer PREAKETSATATION PS = CT.PREPARESTATION (SQL); // ======== 4. Attribuer une valeur à la marque d'interrogation pour (int i = 0; i <paraS.length; i ++) {ps.setstring (i + 1, paraS [i]); } // ======== 5. Exécuter if (ps.ExecuteUpdate ()! = 1) b = false; } catch (exception e) {// todo: gère l'exception b = false; e.printStackTrace (); } enfin {this.close (); } // ========== Valeur de retour Retour B; } // ========== Close Resource public void close () {try {if (rs! = Null) Rs.close (); if (ps! = null) ps.close (); if (ct! = null) ct.close (); } catch (exception e2) {// todo: gère l'exception e2.printStackTrace (); }}}Interface principale
Ajouter l'interface d'information des élèves
Modifier l'interface d'information des élèves
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.