この記事の例は、参照のためにJava学生情報管理システムのソースコードの特定のコードを共有しています。特定のコンテンツは次のとおりです
1.StudetManageクラス(メインインターフェイス)
パッケージcom.sms3; java.awt。*; javax.swing。*; java.awt.event。*; Public Class StudentManage拡張jFrameはActionListener { / ** * @param args * / public static void main(string [] args){// dodo auto-fenated method stub new sustentmanage(); } // ========パネルコントロールプライベートJlabel QueryLab = null; private jtextfield querytxt = null;プライベートjbutton querybtn = null;プライベートjbutton allbtn = null; private jtable restertb = null;プライベートjscrollpane jsp = null;プライベートjbutton addbtn = null;プライベートjbutton deletebtn = null;プライベートjbutton updatebtn = null;プライベートjpanel top = null;プライベートjpanel bottom = null; // =======プライベートStumodel Sm = null; // Constructor Public StudentManage(){/**************************************************** ========== = Query Bar QueryLab = new Jlabel( "を入力してください:"); querytxt = new JTextField(10); querybtn = new jbutton( "query"); allbtn = new jbutton( "all"); //......... QueryBtn.AddActionListener(This)を聞くためのクエリバー。 querybtn.setactionCommand( "query"); allbtn.addactionlistener(this); allbtn.setactionCommand( "all"); // ============ add-and-leation column addbtn = new jbutton( "add"); deletebtn = new JButton( "Delete"); updatebtn = new JButton( "Modify"); //......... Add-deletion columnを聞きますaddbtn.addactionlistener(this); addbtn.SetActionCommand( "add"); deleteBtn.AddActionListener(this); deleteBtn.SetActionCommand( "Delete"); deleteBtn.AddActionListener(this); deleteBtn.SetActionCommand( "Delete"); updatebtn.addactionlistener(this); updateBtn.SetActionCommand( "Update"); // ========ウィンドウの全体的なレイアウトを作成// ......トップレベルクエリバーTOP = new JPanel(); top.add(querylab); top.add(querytxt); top.add(querybtn); top.add(allbtn); // ......ボトムレベルの追加列列bottom = new JPanel(); bottom.add(addbtn); bottom.add(deletebtn); bottom.add(updatebtn); // ......ミドルレベルディスプレイバーSM = new Stumodel(); string sql = "select * from Stu"; Sm.Querystu(SQL、NULL); restertb = new Jtable(sm); jsp = new jscrollpane(restrtb); //.........全体的なレイアウトを構築するthis.add(top、borderlayout.north); this.add(jsp、borderlayout.center); this.add(bottom、borderlayout.south); // ======= window.setsize(400、300)を設定します。 this.setDefaultCloseoperation(jframe.exit_on_close); this.setVisible(true); this.SetSizable(false); } // @Override public void ActionPerformed(ActionEvent e){// todo auto-formated method stub if(e.getActionCommand()。equals( "query")){ /******************************************* // ========= if(name.length()!= 0){// ========名前入力が有効な場合、queryを実行してください//.........パラメーター文字列sql = "select * from stu where stuname =?"; string [] paras = {name}; //.........モデルJTableUpDate(SQL、PARAS)を使用してください。 } else {// ==========名前が空の場合、リマインダーjoptionpane.showmessageialog(これ、「名前入力は空になりません ")を設定します。 }} else if(e.getActionCommand()。equals( "add")){ / ******************************** / new stuadddialog(this、 "add sudent information"、true); string sql = "select * from Stu"; jtableUpdate(sql、null); } else if(e.getActionCommand()。equals( "all")){ / ******************************すべてのショーjtableUpdate(sql、null); } else if(e.getActionCommand()。equals( "delete")){ /**************************** / / / / / /// ======== = ===== ent int rownum = this.resulttb.getSelectedRow(); if(rownum == -1){joptionpane.showmessagedialog(this、 "lowを選択してください");戻る ; } // ========学生ID番号String stuid =(string)sm.getValueat(rownum、0); // =========学生文字列sql = "Stuid =?"; string [] paras = {stuid}; stumodel tmp = new Stumodel(); TMP.Cudstu(SQL、PARAS); // ========== [更新モデルsql = "Select * from Stu"; jtableUpdate(sql、null); } else if(e.getActionCommand()。equals( "update")){ /************************************************************************* if(rownum == -1){joptionpane.showmessagedialog(this、 "lowを選択してください");戻る ; } new Stuupdatedialog(これ、「学生情報を変更する」、true、sm、rownum); string sql = "select * from Stu"; jtableUpdate(sql、null); } // Sm.Querystu(SQL、PARAS); //.........suppletb.setModel(sm)をupdate; }}2。Stumodelクラス(学生データベースモデル)
パッケージcom.sms3; java.sql.resultsetをインポートします。 java.util.vectorをインポートします。 javax.swing.table.abstracttablemodelをインポートします。パブリッククラスのstumodelは、abstracttablemodel {private vector columnnames;プライベートベクトルrow延; // public stumodel(){string sql = "select * from Stu"; string [] paras = {}; } // =========学生の追加と削除public boolean cudstu(string sql、string [] paras){new sqlhelper()。cudexecute(sql、paras); } // ========== Query Student Public void queryStu(string sql、string [] paras){sqlhelper sqlhelper = null; // ========= jtable情報columnnames = new Vector();初期化rowdates = new Vector(); columnNames.Add( "学生番号"); columnnames.add( "name"); columnnames.add( "gender"); columnnames.add( "age"); columnnames.add( "home"); columnnames.add( "part"); try {sqlhelper = new sqlhelper();結果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:HANDRE EXCEPTION}最後に{sqlhelper.close(); }} @Override public int getColumnCount(){// todo auto-enerated method stub return this.columnnames.size(); } @Override public int getRowCount(){// todo auto-eneratedメソッドスタブthis.rowdates.size(); } @Override public Object getValueat(int row、int col){// todo auto-fenated methood stub if(!rowdates.isempty())return((vector)this.rowdates.get(row))。get(col);それ以外の場合はnullを返します。 } @Override public String getColumnName(int column){// todo auto-enerated method stub Returt(string)this.columnnames.get(列); }}3.Stuaddddialogクラス(学生情報サブインターフェイスを追加)
パッケージcom.sms3; java.awt.borderlayoutをインポートします。 java.awt.dialogをインポートします。 java.awt.frameをインポートします。 java.awt.gridlayoutをインポートします。 java.awt.event.actioneventをインポートします。 java.awt.event.actionlistenerをインポートします。 javax.swing。*; Public Class StuadddialogはJdialogを実装しますActionListener {// ======= Panel Control // ......左タイトルバーPrivate Jlabel Idlab、Namelab、sexlab、agelab、jglab、deptlab; //.........列に入力する情報を入力して、列に入力してprivate jtextfield idtxt、nametxt、sextxt、agetxt、jgtxt、depttxt; //....... ADDおよびキャンセルボタンプライベートJBUTTON ADDBTN、cancelBtn; //......... layoutコントロールプライベートjpanel左、中央、底。 // constructor public stuadddialog(フレーム所有者、文字列タイトル、ブールモーダル){// ========親クラスメソッドスーパー(所有者、タイトル、モーダル)を書き直します。 // ==========左側のタグ列はidlab = new jlabel( "Student number:"); namelab = new Jlabel( "name:"); sexlab = new Jlabel( "gender:"); agelab = new Jlabel( "age:"); jglab = new Jlabel( "Hometown:"); deptlab = new Jlabel( "Direction:"); // =========右側の情報列に入力しますIDTXT = new JTextField(); nametxt = new jtextfield(); sextxt = new jtextfield(); agetxt = new jtextfield(); agetxt = new jtextfield(); agetxt = new jtextfield(); jgtxt = new jtextfield(); depttxt = new jtextfield(); // ===========ボタンを追加およびキャンセルするaddbtn = new jbutton( "add"); cancelbtn = new JButton( "Cancel"); //.......Add addbtn.AddActionListener(this)を聞きます。 addbtn.SetActionCommand( "add"); cancelbtn.addactionlistener(this); cancelbtn.setActionCommand( "Cancel"); // ======= [レイアウトを作成する// ......左列= 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); //.........右列センターを作成= new JPanel(); center.setlayout(new gridlayout(6、1)); center.add(idtxt); center.add(nametxt); center.add(sextxt); center.add(agetxt); center.add(jgtxt); center.add(depttxt); // ========================= [ボタンbottom = new JPanel(); bottom.add(addbtn); bottom.add(cancelbtn); // =========全体的なレイアウトthis.Add(左、borderlayout.west); this.add(center、borderlayout.center); this.add(bottom、borderlayout.south); // ========== [ウィンドウ属性を設定] this.setsize(300、250); this.SetSizable(false); this.setVisible(true); } @Override public void ActionPerformed(actionEvent e){// todo auto-formated methood stub if(e.getActionCommand()。equals( "add")){ / *********************** - string sql = "stu値に挿入(?、?、?、?、?、?)"; string [] paras = {idtxt.getText()、nametxt.getText()、sextxt.getText()、agetxt.getText()、jgtxt.getText()、depttxt.getText()}; if(!tmp.cudstu(sql、paras))joptionpane.showmessageialog(this、 "add student information faild"); // ========ウィンドウを閉じますthis.dispose(); } else if(e.getActionCommand()。equals( "cancel")){// ======== window.dispose(); }}}4。Stuupdatedialogクラス(学生情報サブインターフェイスを変更)
パッケージcom.sms3; java.awt.borderlayoutをインポートします。 java.awt.frameをインポートします。 java.awt.gridlayoutをインポートします。 java.awt.event.actioneventをインポートします。 java.awt.event.actionlistenerをインポートします。 javax.swing.jbuttonをインポートします。 javax.swing.jdialogをインポートします。 javax.swing.jlabelをインポートします。 javax.swing.joptionpaneをインポートします。 javax.swing.jpanelをインポートします。 javax.swing.jpanelをインポートします。 javax.swing.jtextfieldをインポートします。 javax.swing.table.abstracttablemodelをインポートします。 Public Class Stuupdatedialogは、Jdialogを実装してActionListener {// ======== Panel Controls // .....左タイトルバープライベートJlabel Idlab、Namelab、sexlab、agelab、jglab、deptlab; //......... right情報column column private jtextfield idtxt、nametxt、sextxt、agetxt、jgtxt、depttxt; //...ADDおよびキャンセルボタンプライベートJBUTTON ADDBTN、CANCELBTN; //......... layoutコントロールプライベートjpanel左、中央、底。 // constructor public stuupdatedialog(フレーム所有者、文字列タイトル、ブールモーダル、stumodel SM、int rownum){// =========親クラスメソッドスーパー(所有者、タイトル、モーダル)を書き直します。 // ===========左のラベルバーidlab = new JLabel( "Student Number:"); namelab = new Jlabel( "name:"); sexlab = new Jlabel( "gender:"); agelab = new Jlabel( "age:"); jglab = new Jlabel( "Hometown:"); deptlab = new Jlabel( "Dimension:"); // ========右側の情報を入力してくださいidtxt = new JTextField(); idtxt.settext((string)sm.getvalueat(rownum、0)); idtxt.setedable(false); 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)); // =========ボタンを追加およびキャンセルするaddbtn = new jbutton( "Modify"); cancelbtn = new JButton( "Cancel"); //.......Add addbtn.AddActionListener(this)を聞きます。 addbtn.SetActionCommand( "Update"); cancelbtn.addactionlistener(this); cancelbtn.setActionCommand( "Cancel"); // ========レイアウトを作成// ...... 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); //.........右列センターを作成= new JPanel(); center.setlayout(new gridlayout(6、1)); center.add(idtxt); center.add(nametxt); center.add(sextxt); center.add(agetxt); center.add(jgtxt); center.add(depttxt); // ============ボトムレイヤーの追加およびキャンセルボタンボトム= new JPanel(); bottom.add(addbtn); bottom.add(cancelbtn); // ========全体的なレイアウトthis.add(左、borderlayout.west); this.add(center、borderlayout.center); this.add(bottom、borderlayout.south); // ========== [ウィンドウ属性を設定] this.setsize(300、250); this.SetSizable(false); this.setVisible(true); } @Override public void ActionPerformed(actionEvent e){// todo auto-enerated method stub if(e.getactionCommand()。equals( "update")){ / **************************************************** / stumodel Tmp = new stumodel(); string sql = "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.showmessageialog(これ、「学生情報の変更に失敗した」); // ========ウィンドウを閉じますthis.dispose(); } else if(e.getActionCommand()。equals( "cancel")){// ======== window.dispose(); }}} 5。SQLHELPERクラス(最低データベースクラス)
パッケージcom.sms3; Java.sql。*をインポートします。 public class sqlhelper {// =========データベースプライベート接続ct = null; private reparedStatement ps = null;プライベート結果rs = null; private string driver = "com.microsoft.sqlserver.jdbc.sqlserverdriver"; private string url = "jdbc:sqlserver://127.0.0.1:1433; database = sustentman"; private string user = "sa"; private string passwd = "****"; // ========== query public results queryexecute(string sql、string [] paras){try {// ========= 1。ドライバーclass.forname(ドライバー)をロードします。 // ========= 2。 ct = drivermanager.getConnection(url、user、passwd); // ========= 3。 reparedStatement PS = CT.Preparestatement(SQL)を作成します。 // ========= 4。質問マークに値を割り当てます。 }} // ======== 5。 rs = ps.executequery()を実行します。 } catch(例外e){// todo:例外を処理するe.printstacktrace(); }最後に{//this.close(); } // ========= return return return rs; } // ======== [public Boolean cudexecuteを追加または削除する(string sql、string [] paras){boolean b = true; try {// ========= 1。ドライバーclass.forname(ドライバー)をロードします。 // ======== 2。 ct = drivermanager.getConnection(url、user、passwd); // ======= 3。 reparedStatement PS = CT.Preparestatement(SQL)を作成します。 // ========= 4。 (int i = 0; i <paras.length; i ++){ps.setString(i+1、paras [i])の疑問符に値を割り当てます。 } // ========= 5。 if(ps.executeupdate()!= 1)b = false; } catch(例外e){// todo:例外B = false; e.printstacktrace(); }最後に{this.close(); } // ========== return値return b; } // ========= close 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:例外e2.printstacktrace()を処理します。 }}}メインインターフェイス
学生情報インターフェイスを追加します
学生情報インターフェイスを変更します
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。