java課程設(shè)計報告選修課管理系統(tǒng)_第1頁
java課程設(shè)計報告選修課管理系統(tǒng)_第2頁
java課程設(shè)計報告選修課管理系統(tǒng)_第3頁
java課程設(shè)計報告選修課管理系統(tǒng)_第4頁
java課程設(shè)計報告選修課管理系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、目 錄1項目背景12用例圖13類圖54界面設(shè)計64.1系統(tǒng)界面64.2功能界面65數(shù)據(jù)庫設(shè)計96源程序106.1student類106.2studentjframe類126.3addjframe類156.4 queryjframe類216.5canceljframe類256.6modifyjframe類286.7daofactory類356.8studentdao類366.9 studentdaojdbcimpl類366.10mssqlhelper類397總結(jié)401項目背景本設(shè)計的目的是綜合面向?qū)ο蟪绦蛟O(shè)計課程中所學(xué)到的知識來開發(fā)一個小型的java應(yīng)用程序選修課管理系統(tǒng)。本項目是選修課管理系統(tǒng)

2、的一個子模塊,主要功能是對學(xué)生的信息進行管理,如:插入一條學(xué)生的信息、刪除學(xué)生信息、修改學(xué)生信息、查詢學(xué)生信息。本項目使用java swing技術(shù),數(shù)據(jù)庫采用sqlserver 2000,本項目的開發(fā)和測試都是在windows平臺下進行的,但由于java的跨平臺性,本系的移植性很強,也適用于其它主流的操作系統(tǒng)。本項目的開發(fā)工具是my eclipse,連接數(shù)據(jù)庫sqlserver2000來完成一個小的學(xué)生選修課管理系統(tǒng)中的學(xué)生信息管理模塊。2用例圖圖2.1用例圖功能級用例描述添加學(xué)生信息描述項說明用例名稱添加學(xué)生信息用例簡述管理員添加學(xué)生的基本信息用例圖前置條件管理員已成功登入后置條件學(xué)生信息被

3、添加基本操作流程1輸入“學(xué)生姓名”,“學(xué)生學(xué)號”,“學(xué)生年齡”,選擇“學(xué)生性別”2點擊“提交”按鈕3 “成功添加”點擊“確定”或關(guān)閉窗口則返回主頁面 替代流程無功能級用例描述查詢學(xué)生信息描述項說明用例名稱查詢學(xué)生信息用例簡述管理員查詢學(xué)生的基本信息用例圖前置條件管理員已成功添加學(xué)生信息并成功登入查詢頁面后置條件學(xué)生信息被查詢基本操作流程1輸入需查找的“學(xué)生學(xué)號” 2點擊“確定”按鈕3 點擊“返回”或關(guān)閉窗口則返回主頁面 替代流程無功能級用例描述修改學(xué)生信息描述項說明用例名稱修改學(xué)生信息用例簡述管理員修改學(xué)生的基本信息用例圖前置條件管理員已成功查詢所需修改學(xué)生信息后置條件學(xué)生信息被修改基本操作流

4、程1輸入需修改的“學(xué)生學(xué)號” 2點擊“修改”按鈕3 點擊“返回”或關(guān)閉窗口則返回主頁面替代流程無功能級用例描述刪除學(xué)生信息描述項說明用例名稱刪除學(xué)生信息用例簡述管理員刪除學(xué)生的基本信息用例圖前置條件管理員已成功查詢所需修改學(xué)生信息后置條件學(xué)生信息被刪除基本操作流程1輸入需刪除的“學(xué)生學(xué)號” 2點擊“刪除”按鈕3 “刪除成功”點擊“確定”或關(guān)閉窗口則返回主頁面替代流程無3類圖圖3.1類圖4界面設(shè)計4.1系統(tǒng)界面進入學(xué)生信息管理系統(tǒng),將會看到以下的窗口,如4.1所示:圖4.1主界面4.2功能界面在學(xué)生信息管理系統(tǒng)里面可以實現(xiàn)插入一條學(xué)生的信息、刪除學(xué)生信息、修改學(xué)生信息、查詢學(xué)生信息的功能。插入功

5、能,能新插入一條學(xué)生信息,包括學(xué)生的學(xué)號和姓名,性別和年齡,如下圖4.2圖4.2插入一條學(xué)生信息修改功能:能修改一個學(xué)生的姓名。如下圖4.3圖4.3修改一個學(xué)生信息刪除功能:能根據(jù)一個學(xué)生的學(xué)號來刪除一個學(xué)生的信息。如下圖4.6圖4.4刪除一個學(xué)生信息查詢功能:能通過一個學(xué)生的學(xué)號來查詢某一個學(xué)生,如下圖4.5圖4.5查詢一個學(xué)生信息刪除學(xué)生信息后的數(shù)據(jù)庫的一個截圖如下4.6:圖4.6 數(shù)據(jù)庫5數(shù)據(jù)庫設(shè)計6源程序6.1student類/信管071鄭勝楠2007021236package domain;public class student /student類用五個實例變量來描述private

6、 integer studentid;private intege studentno;private string studentname;private string studentsex;private int studentage;/建立構(gòu)造器, 因需studentid自動生成,所以寫三個構(gòu)造器public student() super();public student(integer studentid, intege studentno, string studentname,string studentsex ,int studentage) super(); this.stu

7、dentid = studentid;this.studentno = studentno;this.studentname = studentname;this.studentsex = studentsex;this.studentage = studentage; public student(intege studentno, string studentname, string studentsex,int studentage) super();this.studentno = studentno;this.studentname = studentname;this.studen

8、tsex = studentsex;this.studentage = studentage;public string getstudentsex() return studentsex;public void setstudentsex(string studentsex) this.studentsex = studentsex;public integer getstudentid() return studentid;public void setstudentid(integer studentid) this.studentid = studentid;public string

9、 getstudentno() return studentno;public void setstudentno(intege studentno) this.studentno = studentno;public string getstudentname() return studentname;public void setstudentname(string studentname) this.studentname = studentname;public int getstudentage() return studentage;public void setstudentag

10、e(int studentage) this.studentage = studentage;overridepublic string tostring() / todo auto-generated method stubreturn + this.studentid + , + this.studentno + ,+ this.studentname + , + this.studentsex+,+this.studentage + ;6.2 studentjframe類第一個界面(主界面)的建立/信管071鄭勝楠2007021236package jframe;import java.

11、awt.borderlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.windowadapter;import javax.swing.jbutton;import javax.swing.jlabel;import javax.swing.jpanel;import javax.swing.windowconstants;import javax.swing.swingutilities;public class studentjframe e

12、xtends javax.swing.jframe private jpanel titlepanel;private jlabel titlelabel;private jbutton jbutton1;private jbutton jbutton4;private jbutton jbutton3;private jbutton jbutton2;private jpanel mainpanel;public static void main(string args) swingutilities.invokelater(new runnable() public void run()

13、studentjframe inst = new studentjframe();inst.setlocationrelativeto(null);inst.setvisible(true););public studentjframe() super(學(xué)生選修課管理系統(tǒng));initgui();private void initgui() try setdefaultcloseoperation(windowconstants.dispose_on_close);getcontentpane().setforeground(new java.awt.color(0,0,255);/標題pane

14、ltitlepanel = new jpanel();getcontentpane().add(titlepanel, borderlayout.north);titlepanel.setpreferredsize(new java.awt.dimension(384, 91);titlelabel = new jlabel();titlepanel.add(titlelabel);titlelabel.settext(u6b22u8fceu8fdbu5165u5b66u751fu9009u4feeu8bfeu7ba1u7406u7cfbu7edf);titlelabel.setpreferr

15、edsize(new java.awt.dimension(279, 68);titlelabel.setfont(new java.awt.font(微軟雅黑,1,18);titlelabel.setforeground(new java.awt.color(0,0,255);/選擇panelmainpanel = new jpanel();getcontentpane().add(mainpanel, borderlayout.center);mainpanel.setpreferredsize(new java.awt.dimension(384, 173);/“添加”按鈕jbutton

16、1 = new jbutton();mainpanel.add(jbutton1);jbutton1.settext(u6dfbu52a0);jbutton1.setpreferredsize(new java.awt.dimension(83, 36);jbutton1.setfont(new java.awt.font(微軟雅黑,1,14);jbutton1.setforeground(new java.awt.color(0,255,0);jbutton1.setbackground(new java.awt.color(0,128,128);/注冊“添加”按鈕的監(jiān)聽器,進行兩個界面間的

17、轉(zhuǎn)換jbutton1.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) system.out.println(jbutton1.actionperformed, event=+evt);/todo add your code for jbutton1.actionperformed addjframe add=new addjframe();studentjframe.this.setvisible(false););

18、/“查找”按鈕jbutton2 = new jbutton();mainpanel.add(jbutton2);jbutton2.settext(u67e5u627e);jbutton2.setbackground(new java.awt.color(0,128,128);jbutton2.setfont(new java.awt.font(微軟雅黑,1,14);jbutton2.setforeground(new java.awt.color(0,255,0);jbutton2.setpreferredsize(new java.awt.dimension(83, 37);/注冊“查詢”按

19、鈕的監(jiān)聽器jbutton2.addactionlistener(new actionlistener() public void actionperformed(actionevent evt) system.out.println(jbutton2.actionperformed, event=+evt);/todo add your code for jbutton2.actionperformedqueryjframe query=new queryjframe();studentjframe.this.setvisible(false););/“修改”按鈕jbutton3 = new

20、jbutton();mainpanel.add(jbutton3);jbutton3.settext(u4feeu6539);jbutton3.setbackground(new java.awt.color(0,128,128);jbutton3.setfont(new java.awt.font(微軟雅黑,1,14);jbutton3.setforeground(new java.awt.color(255,255,0);jbutton3.setpreferredsize(new java.awt.dimension(83, 36);jbutton3.addactionlistener(n

21、ew actionlistener() public void actionperformed(actionevent evt) system.out.println(jbutton2.actionperformed, event=+evt);/todo add your code for jbutton2.actionperformedmodifyjframe mj=new modifyjframe();mj.setvisible(true);studentjframe.this.setvisible(false););/“刪除”按鈕jbutton4 = new jbutton();main

22、panel.add(jbutton4);jbutton4.settext(u5220u9664);jbutton4.setbackground(new java.awt.color(0,128,128);jbutton4.setfont(new java.awt.font(微軟雅黑,1,14);jbutton4.setforeground(new java.awt.color(255,255,0);jbutton4.setpreferredsize(new java.awt.dimension(83, 37);jbutton4.addactionlistener(new actionliste

23、ner() public void actionperformed(actionevent evt) system.out.println(jbutton4.actionperformed, event=+evt);/todo add your code for jbutton4.actionperformedcanceljframe cjf=new canceljframe();studentjframe.this.setvisible(false);cjf.setvisible(true););pack();setsize(400, 300); catch (exception e) e.

24、printstacktrace();6.3 addjframe類用于添加學(xué)生/信管071鄭勝楠2007021236package jframe;import java.awt.borderlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.itemevent;import java.awt.event.itemlistener;import javax.swing.buttongroup;import javax.swing.defaultcomb

25、oboxmodel;import javax.swing.jbutton;import javax.swing.jlabel;import javax.swing.jlist;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jradiobutton;import javax.swing.jspinner;import javax.swing.jtextfield;import javax.swing.listmodel;import javax.swing.spinnerlistmodel;

26、import javax.swing.windowconstants;import javax.swing.swingutilities;import dao.daofactory;import domain.student;public class addjframe extends javax.swing.jframe implements itemlistener private jpanel titlepanel1;private jlabel jlabel2;private jbutton fqbutton1;private jbutton tjbutton1;private jla

27、bel titlelabel1;private jtextfield jtextfield1;private jlabel sexlabel1;private jlabel nolabel1;private jtextfield notextfield1;private jtextfield nametextfield1;private jlabel namelabel1;private jpanel southpanel1;private jpanel mainpanel1;private jpanel eastpanel1;private jpanel westpanel1;private

28、 jradiobutton manradiobutton1;private jradiobutton womenradiobutton1;private jlabel konglabel3;private string sex;public static void main(string args) swingutilities.invokelater(new runnable() public void run() addjframe inst = new addjframe();inst.setlocationrelativeto(null);inst.setvisible(true);)

29、;public addjframe() super(添加學(xué)生信息);initgui();this.setvisible(true);private void initgui() try setdefaultcloseoperation(windowconstants.dispose_on_close);titlepanel1 = new jpanel();getcontentpane().add(titlepanel1, borderlayout.north);titlepanel1.setpreferredsize(new java.awt.dimension(384, 65);titlel

30、abel1 = new jlabel();titlepanel1.add(titlelabel1);titlelabel1.settext(u8bf7u8f93u5165u5b66u751fu4fe1u606f);titlelabel1.setpreferredsize(new java.awt.dimension(124, 34);titlelabel1.setfont(new java.awt.font(微軟雅黑,0,16);/東,西兩塊空panel,美觀作用westpanel1 = new jpanel();getcontentpane().add(westpanel1, borderl

31、ayout.west);westpanel1.setpreferredsize(new java.awt.dimension(72, 211);eastpanel1 = new jpanel();getcontentpane().add(eastpanel1, borderlayout.east);eastpanel1.setpreferredsize(new java.awt.dimension(89, 169);southpanel1 = new jpanel();getcontentpane().add(southpanel1, borderlayout.south);southpane

32、l1.setpreferredsize(new java.awt.dimension(384, 70);/提交按鈕tjbutton1 = new jbutton();southpanel1.add(tjbutton1);tjbutton1.settext(u63d0u4ea4);tjbutton1.setpreferredsize(new java.awt.dimension(76, 27);tjbutton1.setfont(new java.awt.font(微軟雅黑,1,14);/注冊“提交”按鈕監(jiān)聽器tjbutton1.addactionlistener(new actionliste

33、ner() public void actionperformed(actionevent evt) system.out.println(tjbutton1.actionperformed, event=+evt);/todo add your code for tjbutton1.actionperformed/把添加的信息傳給daofactory中g(shù)etstudentdao里的addstudent方法中的相應(yīng)參數(shù)student student = new student();student.setstudentname(nametextfield1.gettext(); student.

34、setstudentno(integer.parseint(notextfield1.gettext();student.setstudentsex(sex);student.setstudentage(integer.parseint(jtextfield1.gettext(); system.out.println(*+nametextfield1.gettext(); /起測試作用try daofactory.getinstance().getstudentdao().addstudent(student); catch (exception e) e.printstacktrace()

35、;/成功添加提示joptionpane.showmessagedialog(null, 成功添加,joptionpane.information_message););/空label用來調(diào)提交和放棄按鈕的距離,美觀作用konglabel3 = new jlabel();southpanel1.add(konglabel3);konglabel3.setpreferredsize(new java.awt.dimension(22, 9);/放棄按鈕fqbutton1 = new jbutton();southpanel1.add(fqbutton1);fqbutton1.settext(u65

36、3eu5f03);fqbutton1.setfont(new java.awt.font(微軟雅黑,1,14);fqbutton1.setpreferredsize(new java.awt.dimension(75, 27);/注冊“放棄”按鈕的監(jiān)聽器,重回主界面fqbutton1.addactionlistener(new actionlistener() public void actionperformed(actionevent evt) system.out.println(fqbutton1.actionperformed, event=+evt);/todo add your

37、code for fqbutton1.actionperformedstudentjframe sjf=new studentjframe();sjf.setvisible(true);addjframe.this.setvisible(false););mainpanel1 = new jpanel();getcontentpane().add(mainpanel1, borderlayout.center);buttongroup bgp=new buttongroup();mainpanel1.setpreferredsize(new java.awt.dimension(235, 17

38、0);/姓名標簽和文本框namelabel1 = new jlabel();mainpanel1.add(namelabel1);namelabel1.settext(u59d3u540d);namelabel1.setpreferredsize(new java.awt.dimension(46, 38);namelabel1.setfont(new java.awt.font(微軟雅黑,0,14);nametextfield1 = new jtextfield();mainpanel1.add(nametextfield1);nametextfield1.setpreferredsize(

39、new java.awt.dimension(132, 34);/學(xué)號標簽和文本框nolabel1 = new jlabel();mainpanel1.add(nolabel1);nolabel1.settext(u5b66u53f7);nolabel1.setfont(new java.awt.font(微軟雅黑,0,14);nolabel1.setpreferredsize(new java.awt.dimension(46, 19);notextfield1 = new jtextfield();mainpanel1.add(notextfield1);notextfield1.setp

40、referredsize(new java.awt.dimension(132, 31);/ 性別標簽sexlabel1 = new jlabel();mainpanel1.add(sexlabel1);sexlabel1.settext(u6027u522b);sexlabel1.setfont(new java.awt.font(微軟雅黑,0,14);sexlabel1.setpreferredsize(new java.awt.dimension(50, 22);/”男“,”女“單選框的設(shè)置manradiobutton1 = new jradiobutton();mainpanel1.a

41、dd(manradiobutton1);bgp.add(manradiobutton1); /把單選框加到buttongroup中manradiobutton1.settext(u7537);manradiobutton1.setpreferredsize(new java.awt.dimension(57, 23);manradiobutton1.additemlistener(this);womenradiobutton1 = new jradiobutton();mainpanel1.add(womenradiobutton1);bgp.add(womenradiobutton1); /

42、把單選框加到buttongroup中womenradiobutton1.settext(u5973); womenradiobutton1.setpreferredsize(new java.awt.dimension(68, 22);womenradiobutton1.additemlistener(this);/年齡標簽和文本框jlabel2 = new jlabel();mainpanel1.add(jlabel2);jlabel2.settext(u5e74u9f84);jlabel2.setfont(new java.awt.font(微軟雅黑,0,14);jlabel2.setpr

43、eferredsize(new java.awt.dimension(46, 22);jtextfield1 = new jtextfield();mainpanel1.add(jtextfield1);jtextfield1.setpreferredsize(new java.awt.dimension(132, 31);pack();pack(); catch (exception e) e.printstacktrace(); /設(shè)置單選框所選內(nèi)容以備“性別”的監(jiān)聽器把內(nèi)容返回給數(shù)據(jù)庫public void itemstatechanged(itemevent e) / todo aut

44、o-generated method stubif(manradiobutton1.isselected()sex=男; if(womenradiobutton1.isselected()sex=女; 6.4 queryjframe 類用于查詢學(xué)生package jframe;import java.awt.borderlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jlabel;import j

45、avax.swing.jpanel;import javax.swing.jspinner;import javax.swing.jtextfield;import javax.swing.spinnerlistmodel;import javax.swing.windowconstants;import javax.swing.swingutilities;import dao.daofactory;import domain.student;public class queryjframe extends javax.swing.jframe private jpanel titlepan

46、el2;private jbutton qdbutton2;private jtextfield notextfield2;private jlabel agelabel2;private jtextfield agetextfield2;private jtextfield sextextfield2;private jbutton bacdbutton2;private jpanel backpanel2;private jlabel sexlabel2;private jtextfield nametextfield2;private jlabel namelabel2;private

47、jlabel querylabel2;private jpanel mainpanel2;private jlabel querylabel;/* auto-generated main method to display this jframe*/public static void main(string args) swingutilities.invokelater(new runnable() public void run() queryjframe inst = new queryjframe();inst.setlocationrelativeto(null);inst.setvisible(true););public queryjframe() super(查找);initgui();this.setvisible(true);private void initgui() try setdefaultcloseoperation(windowconstants.dispose_on_close);/標題塊,提示titlepanel2 = new jpanel();getcontentpane().add(titlepanel2, borderlayout.north);titlepanel

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論