




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Java程序設(shè)計結(jié)課報告課程名稱JAVA程序設(shè)計設(shè)計題目學(xué)生選課管理系統(tǒng)專業(yè)班級學(xué)號學(xué)生姓名教師信息工程系目錄第1章系統(tǒng)簡介1.1系統(tǒng)功能第2章表的設(shè)計2.1系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu): 第3章連接數(shù)據(jù)庫的實現(xiàn)第4章系統(tǒng)詳細設(shè)計4.1 系統(tǒng)登錄模塊設(shè)計4.2 系統(tǒng)主界面詳細設(shè)計4.3 學(xué)生管理模塊設(shè)計 4.4 課程管理模塊設(shè)計4.5 選課管理,K塊設(shè)計答辯記錄成績考核表 學(xué)生選課管理系統(tǒng)第1章系統(tǒng)簡介1.1 系統(tǒng)功能本系統(tǒng)主要功能:1)管理學(xué)生信息,其中包括添加,刪除,修改等操作。2)管理課程信息,其中包括添加,刪除,修改等操作。3)管理選課信息,其中包括添加,刪除,修改等操作。4)查詢信息,其中包括查
2、詢學(xué)生信息,查詢課程信息,查詢選課信息5)維護系統(tǒng),備份所有表格為Excel格式。1.2 系統(tǒng)引用例子課本P237頁13.10課本P364頁20.5課本P389頁20.10課本P387頁21.6第2章表的設(shè)計2.1系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu):在此小節(jié)將系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)用表的形式畫出,如:字段名字段類型長度主/外鍵字段值約束對應(yīng)中文名Snonvarchar50PNotnull學(xué)號Snamenvarchar50Notnull學(xué)生名字Sxnvarchar50Notnull學(xué)生系別字段名字段類型時2s學(xué),立聞的建S,)字段值約束對應(yīng)中文名Cnonvarchar50PNotnull課程號Cnamenvarchar
3、50Notnull課程名字字段名字段類型J. J 勿長度王/外鍵字段值約束對應(yīng)中文名Snonvarchar50PNotnull學(xué)號Cnonvarchar50PNotnull課程號Cnvarchar50Notnull分數(shù)表2.3選課信息表(SC)第3章連接數(shù)據(jù)庫的實現(xiàn)此節(jié)可簡寫,可適當(dāng)貼一些SQLServe敞據(jù)庫連接的關(guān)鍵代碼,如:ConnectiondbConn=null;trydbConn=DriverManager.getConnection(+"student","sa","123");catch(Exceptione)e.pr
4、intStackTrace();returndbConn;/返回 Connection 象第4章系統(tǒng)詳細設(shè)計4.1 系統(tǒng)登錄模塊設(shè)計1、運行效果圖圖4.1.1登陸界面圖4.1.2登陸成功圖4.1.2登陸失敗2、主要代碼importjava.awt.*;importimportjavax.swing.*;importjava.sql.*;publicclassUserextendsJFrame privateJLabeluse,password;privateJTextFieldk1;/用戶名輸入框 privateJPasswordFieldk2;/密碼輸入框 privateJButtonb1,
5、b2;/登錄窗口publicUser(JFramef)super("系統(tǒng)登錄");Containerc=getContentPane();c.setLayout(newFlowLayout();use=newJLabel("username:");use.setFont(newFont("Serif",Font.PLAIN,20);password=newJLabel("password:");password.setFont(newFont("Serif",Font.PLAIN,20);k1=
6、newJTextField(12);k2=newJPasswordField(12);b1=newJButton("登錄");b2=newJButton("退出");/設(shè)置登錄方法BHandlerb=newBHandler();EXITd=newEXIT();b1.addActionListener(b);b2.addActionListener(d);/添加控件c.add(use);c.add(kl);c.add(password);c.add(k2);c.add(bl);c.add(b2);setBounds(600,300,250,150);set
7、Visible(true);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);一 一/主函數(shù)publicstaticvoidmain(Stringargs) Userf1=newUser(newJFrame();/登錄按鈕方法privateclassBHandlerimplementsActionListener publicvoidactionPerformed(ActionEventevent)if(k1.getText().equals("")|k2.getText().equals(
8、"")JOptionPane.showMessageDialog(User.this,” 用戶名密碼不能為空!");elseStatementstmt=null;ResultSetrs=null;Stringsql;sql="select*fromadminwhereusername="'+k1.getText()+""'tryConnectiondbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_
9、INS ENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);if(rs.next()Stringxm=rs.getString("password");if(k2.getText().equals(xm.trim()JOptionPane.showMessageDialog(User.this,"登錄成功");dispose。;newMenu();管理窗 口 elseJOptionPane.showMessageDialog(User.this密碼錯誤");elseJOp
10、tionPane.showMessageDialog(User.this用戶名錯誤");rs.close();stmt.close();catch(SQLExceptione)JOptionPane.showMessageDialog(User.this,"SQL 錯 誤 信 /官、:"+e.getMessage();/退出方法結(jié)束privateclassEXITimplementsActionListenerpublicvoidactionPerformed(ActionEventeven) System.exit(0); 父類結(jié)束4.2 系統(tǒng)主界面詳細設(shè)計1、
11、運行效果圖圖4.2.1登陸成功后界面圖4.2.2學(xué)生管理菜單圖4.2.2課程管理菜單圖4.2.2選課管理菜單圖4.2.2查詢管理菜單2、實現(xiàn)代碼:添加數(shù)據(jù)時,若遇到必須信息未填寫、不能重復(fù)的信息在數(shù)據(jù)庫中已存在,都會提示無法添加及其錯誤原因。importjava.awt*;importimportjavax.swing.*;publicclassMenuextendsJFrameimplementsActionListenerAddstu增加學(xué)生界面;Updatast述I改學(xué)生界面;Delstu刪除學(xué)生界面;AddC增加課程界面;DelC刪除課程界面;UpdateC修改課程界面;AddSC增加
12、選課界面;DelSC刪除選課界面;UpdateSCB改選課界面;Selstui生查詢界面;Backup備份界面;JPanelpCenter;CardLayoutcard=null;JLabe11abel=null;JMenuBarmb=newJMenuBar();/碇單欄JMenum1=newJMenu("學(xué)生管理");JMenuItemadd1=newJMenuItem('添力口學(xué)生學(xué)籍");JMenuItemupdata1=newJMenuItem('更新學(xué)生學(xué)籍");JMenuItemdelete1=newJMenuItem(
13、9;刪除學(xué)生學(xué)籍");JMenum2=newJMenu("課程管理");JMenuItemadd2=newJMenuItem('增力口課程");JMenuItemupdata2=newJMenuItem('更新課程");JMenuItemdelete2=newJMenuItem('刪除課程");JMenum3=newJMenu("選課管理");JMenuItemadd3=newJMenuItem('成績錄入");JMenuItemupdata3=newJMenuItem(&
14、#39;成績修改");JMenuItemdelete3=newJMenuItem('成績刪除");JMenum4=newJMenu("查詢管理");JMenultem學(xué)生查詢=newJMenuItem("查詢信息"); JMenuItembackup=newJMenuItem('備份信息"); JMenuItemm5=newJMenuItem("系統(tǒng)退出");Fontt=newFont("sanerif",Font.PLAIN,12);publicMenu()this.
15、setTitle("學(xué)生選課管理系統(tǒng)");tryUIManager. setLookAndFee(UIManager.getSystemLookAndFeelClassName );catch(Exceptione)Systemerr.println("不能設(shè)置外觀:"+e);/組合菜單addMenu1();addMenu2();addMenu3();addMenu4();addJMenuBar();setJMenuBar(mb);label=newJLabel("歡迎使用江西理工大學(xué)應(yīng)科院選課管理系統(tǒng) "JLabel.CENTER)
16、;label.setFont(newFont('宋體",Font.BOLD,25);label.setHorizontalTextPosition(SwingConstantsCENTER);label.setForeground(Colorred);/點擊事件addl.addActionListener(this);updatal.addActionListener(this);deletel.addActionListener(this);m5.addActionListener(this);add2.addActionListener(this);delete2.add
17、ActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);updata3.addActionListener(this);學(xué)生查詢.addActionListener(this);backup.addActionListener(this);card=newCardLayout();pCenter=newJPanel();pCenter.setLayout(card);增加學(xué)生界面=newAddstu();修改學(xué)生界面=new
18、Updatastu();刪除學(xué)生界面=newDelstu();增加課程界面=newAddC();刪除課程界面=newDelC();修改課程界面=newUpdateC();增加選課界面=newAddSC();刪除選課界面=newDelSC();修改選課界面=newUpdateSC();學(xué)生查詢界面=newSelstu();備份界面=newBackup();pCenter.add(歡迎界面",label);pCenter.add('增力口學(xué)生界面”,增加學(xué)生界面);pCenter.add("修改學(xué)生界面",修改學(xué)生界面); pCenter.addC刪除學(xué)生界面
19、",刪除學(xué)生界面); pCenter.add('增力口課程界面",增加課程界面); pCenter.add。刪除課程界面",刪除課程界面); pCenter.add('修改課程界面",修改課程界面); pCenter.add('增力口選課界面",增加選課界面); pCenter.addC刪除選課界面",刪除選課界面); pCenter.add(,修改選課界面",修改選課界面); pCenter.addC學(xué)生查詢界面",學(xué)生查詢界面); pCenter.add("備份界面"
20、,備份界面); add(pCenter,BorderLayoutCENTER);validate。;setVisible(true);setBounds(400,150,600,380);setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);addWindowListener(newWindowAdapter()/ 關(guān)閉程序時的操作 publicvoidwindowClosing(WindowEvente)System. exit(0); );validate。; privatevoidaddJMenuBar()mb.add(m1);mb.add(m2);
21、mb.add(m3);mb.add(m4);mb.add(m5); privatevoidaddMenu4() m4.add(學(xué)生查詢);m4.add(backup);m4.setFont(t);privatevoidaddMenu3() m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t);privatevoidaddMenu2()/將菜單加入到菜單欄中 m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t);privatevoidaddMenu1() ml.add(
22、addl);ml.add(updatal);ml.add(deletel);ml.setFont(t);/字體publicvoidactionPerformed(ActionEvente) Objectobj=e.getSource();if(obj=m5)System. exit(0); elseif(obj=add1)card.show(pCenter,'增加學(xué)生界面");elseif(obj=updata1)card.show(pCenter,修改學(xué)生界面");elseif(obj=delete1)card.show(pCenter,'刪除學(xué)生界面&q
23、uot;);elseif(obj=add2)card.show(pCenter,'增加課程界面");elseif(obj=delete2)card.show(pCenter,'刪除課程界面");elseif(obj=updata2)card.show(pCenter,修改課程界面");elseif(obj=add3)card.show(pCenter,'增加選課界面");elseif(obj=delete3)card.show(pCenter,'刪除選課界面");elseif(obj=updata3)card.s
24、how(pCenter,修改選課界面");elseif(obj=學(xué)生查詢)card.show(pCenter,'學(xué)生查詢界面");elseif(obj=backup)card.show(pCenter,'備份界面");publicstaticvoidmain(Stringargs)newMenu(); 4.3學(xué)生管理模塊設(shè)計1、運行效果圖圖4.3.1添加學(xué)生學(xué)籍圖4.3.1修改學(xué)生學(xué)籍圖4.3.1刪除學(xué)生學(xué)籍2、實現(xiàn)代碼:Addstu.java/Updatastu.java/Delstu.javaimportjava.awt*;importjava
25、x.swing.*;importjava.sql.*;importpublicclassAddstuextendsJPanelimplementsActionListenerJTextField學(xué)號,姓名,系別;JButton 錄入;publicAddstu()tryUIManager. setLookAndFee(UIManager.getSystemLookAndFeelClassName );catch(Exceptione)Systemerr.println("不能設(shè)置外觀:"+e); 學(xué)號=newJTextField(12);姓名"newJTextFie
26、ld(12);系另 U=newJTextField(12);錄入"newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box. createHorizontalBox();橫放 boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(newJLabel('學(xué)號:"/*,JLabel.CENTER*/);boxl.add序
27、號);box2.add(newJLabel('姓名:"/*,JLabel.CENTER*/);box2.add姓名);box3.add(newJLabel('系別:"/*,JLabel.CENTER*/);box3.add保別);box4.add綠入);BoxboxH=Box. createVerticalBox();/豎放 boxboxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJP
28、anel();messPanel.add(boxH);setLayout(newBorderLayout();add(messPanel,BorderLayouCENTER);validate。; publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(學(xué)號.getText().equals("")|姓名.getText().equals("")|系另 I.getText().equals("")JOptionPaneshowMessage
29、Dialog(this,”學(xué)生信息請?zhí)顫M再錄入!)Statementstmt=null;ResultSetrs1=null;Stringsql,sql1;sql1="select*fromSwhereSno="'+學(xué)號.getText()+"”'sql="insertintoSvalues(”'+學(xué)號.getText()+"'J'+ 姓名.getText()+"','"+ 系別.getText()+"')"tryConnectiondbCon
30、n1=ConnCONN();stmt=(Statement)dbConn1.createStatement(ResultSTYPE_SCROLL_INSENSI TIVE,ResultSetCONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialothis,”該學(xué) 號以存在,無法添加)elsestmt.executeUpdate(sql);JOptionPaneshowMessageDialogthis,"添力口成功");rs1.close();stmt.cl
31、ose();catch(SQLExceptione)Systemout.print("SQLExceptionoccur.Messageis:"+e.getMessage();4.4課程管理模塊設(shè)計i、運行效果圖圖4.4.1課程錄入界面圖4.4.2課程修改界面圖4.4.3課程刪除界面2、運行代碼:AddC.java/UpdataC.java/DelC.javaimportjava.awt*;importjavax.swing.*;importjava.sql.*;importpublicclassAddCextendsJPanelimplementsActionListen
32、erJTextField課號,課名;JButton 錄入;publicAddC()tryUIManager. setLookAndFee(UIManager.getSystemLookAndFeelClassName );catch(Exceptione)Systemerr.println("不能設(shè)置外觀:"+e);課號"newJTextField(12);課名=newJTextField(12);錄入=newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box. createHorizont
33、alBox(); 橫放 box Box box2=Box. createHorizontalBox();Box box3=Box. createHorizontalBox();Box box4=Box. createHorizontalBox();box1.add(newJLabel('課號:");boxl.add保號);box2.add(newJLabel('課名:");box2.add保名);box4.add綠入);BoxboxH=Box. createVerticalBox();/豎放 box boxH.add(boxl);boxH.add(box2)
34、;boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue(); JPanelmessPanel=newJPanel();messPanel.add(boxH); setLayout(newBorderLayout(); add(messPanel,BorderLayouCENTER); validate。;publicvoidactionPerformed(ActionEventc) Objectobj=c.getSource();if(obj=錄入)if(課號.getText().equals("")|
35、課名.getText().equals("")JOptionPaneshowMessageDialog(this,"學(xué)生信息 請?zhí)顫M再錄入!");Statementstmt=null;ResultSetrs=null,rs1=null;/結(jié)果集Stringsql,sql1;sql1="select*fromCwhereCno=”'+課號.getText()+"”'sql="insertintoCvalues(”'+課號.getText()+"','"+ 課 名.ge
36、tText()+"')"tryConnectiondbConn1=ConnCONN();stmt=(Statement)dbConn1.createStatement(ResultSTYPE_SCROLL_INSENSI TIVE,ResultSetCONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialogthis,”該課號以存在,無法添 加)elsestmt.executeUpdate(sql);JOptionPaneshowMessageDial
37、og(this,"添力口成功 ");rs1.close();stmt.close();catch(SQLExceptione)System.out.print("SQL 錯誤彳S息:"+e.getMessage();4.5選課管理模塊設(shè)計1、運行效果圖圖4.5.1成績錄入界面圖4.5.2成績修改界面圖4.5.3成績刪除界面2、運行代碼:AddSC.java/UpdataSC.java/DelSC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.util.*;impo
38、rtimportjava.io.*;importpublicclassAddSCextendsJPanelimplementsActionListenerJTextField課號,學(xué)號,成績;JButton 錄入;publicAddSC()tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception"+e);課號=newJTextField(12);學(xué)號=newJTextField(12);成績=newJTextField(12);錄入=newJButton("錄入
39、"); 錄入.addActionListener(this); Boxbox1=Box.createHorizontalBox();/ 橫放 box Box box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(newJLabel("課號:"); boxl.add(課號);box2.add(newJLabel("學(xué)號:");box2.add(學(xué)號);box3.add(newJLab
40、el("成績:");box3.add(成績); box4.add(錄入); BoxboxH=Box.createVerticalBox();/ 豎放 box boxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(messPanel,BorderLayout.CENTER);validate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(課號.getText().equals("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飯店承租安全協(xié)議書
- 運營車輛回收協(xié)議書
- 解除培訓(xùn)合同協(xié)議書
- 企業(yè)總經(jīng)理聘用協(xié)議書
- 項目招商入股協(xié)議書
- 車輛抵消債務(wù)協(xié)議書
- 酒店保潔承包協(xié)議書
- 餐飲加工合同協(xié)議書
- 企業(yè)復(fù)印機租賃協(xié)議書
- 餐飲器材轉(zhuǎn)讓協(xié)議書
- 測井試題及答案完整版
- 人格性格測試題及答案
- 2025-2030年中國電子變壓器市場運行前景及投資價值研究報告
- 山東某年產(chǎn)10萬噸甲醇工程施工組織設(shè)計(土建 安裝)
- 東南地區(qū)周代冶金考古研究新進展
- 白酒合作協(xié)議合同協(xié)議
- 中南大學(xué)畢業(yè)答辯學(xué)術(shù)論文模板
- 2024年廣東省廣州市越秀區(qū)中考二模數(shù)學(xué)試題(含答案)
- 骨科科室工作總結(jié)匯報
- 三基中醫(yī)培訓(xùn)試題及答案
- GB 28050-2025食品安全國家標(biāo)準(zhǔn)預(yù)包裝食品營養(yǎng)標(biāo)簽通則
評論
0/150
提交評論