大學JAVA課程設計_學生信息管理系統方案_第1頁
大學JAVA課程設計_學生信息管理系統方案_第2頁
大學JAVA課程設計_學生信息管理系統方案_第3頁
大學JAVA課程設計_學生信息管理系統方案_第4頁
大學JAVA課程設計_學生信息管理系統方案_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 . PAGE16 / NUMPAGES19摘要Java語言是當前最為流行的程序設計語言之一,諸多優秀的的特性使其成為被業界廣泛認可和采用的工具。本設計可以幫助同學掌握和應運所學的面向對象程序設計學生學籍信息管理系統的編程容,培養同學們建立對象模型,處理對象和對象集關系和對圖形用回界面設計編程以與文件和流的編程問題的能力,訓練同學為解決實際問題而創建較完整的簡單面向對象和管理系統編程應運程序的獨立編程能力.本設計是一個常見的學生學籍管理系統應運程序.系統實現的功能:界面操作實現學生學籍信息的添加、刪除、查詢、修改功能,在文本文件中的的信息的動態處理。關鍵詞:學生學籍管理系統;圖形用戶界面設計;

2、文件和流;java 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc265765621一、課程設計的目的與意義1HYPERLINK l _Toc2657656211.目的1HYPERLINK l _Toc2657656212.意義1HYPERLINK l _Toc265765622二、需求分析1HYPERLINK l _Toc3447217221. 學生學籍管理系統主界面模塊1HYPERLINK l _Toc3447217232. 錄入學生基本信息模塊1HYPERLINK l _Toc3447217243. 修改學生基本信息模板1HYPERLINK l _Toc3447

3、217253. 查詢學生基本信息模板1HYPERLINK l _Toc3447217264. 刪除學生基本信息模板1HYPERLINK l _Toc265765623三、分案設計3HYPERLINK l _Toc3447217291. 定義四個Panel面板 3 HYPERLINK l _Toc265765624四、方案的實施3HYPERLINK l _Toc265765625五、HYPERLINK l _Toc265765626心得體會15HYPERLINK l _Toc265765627六、參考文獻16一、課程設計的目的與意義目的:深入理解java語言的語法規則與其優勢,掌握類與方法的構造

4、方法,掌 握基于java的各種操作的實現方法,訓練對基礎知識和基本方法的綜合運用能力,增強對算法的理解能力,提高軟件設計能力。在實踐中培養獨立分析問題和解決問題的作風和能力。意義:熟練運用java語言、基本構造方法和算法的基礎知識,獨立編制一個具有中等難度的、解決實際應用問題的應用程序。通過題意分析、選擇類結構、算法設計、編制程序、調試程序、軟件測試、結果分析、撰寫課程設計報告等環節完成軟件設計的全過程,不斷地完善程序以提高程序的性能。需求分析該學生學籍管理系統的所有功能均在一個Frame窗體中實現。1.學生學籍管理系統主界面模塊: 采用Frame窗體來設置歡迎界面包括背景圖片與字幕(可以設計

5、成滾動字幕效果),左上方的菜單條設計成下拉式。包括“錄入學生基本信息”、“修改學生基本信息”、“刪除學生基本信息”、“查詢學生基本信息”和“退出系統”五項菜單項。2.錄入學生基本信息模塊: 采用Panel面板來設置該部分容信息并采用方位布局(邊緣布局)和Box輕量級組件來設置“學號”、“”、“性別”、“專業”、“年級”、“出生”,并在該面板中添加了“錄入”和“重置”兩個按鈕進行監聽,最后將該面板加入到Frame窗體中去。3.修改學生基本信息模板: 采用Panel面板來設置該部分容信息,同樣是采用方位布局與Box組件來設置相關信息,并在學號旁設置了“開始修改”按鈕。在面板南部方位添加了“確定修改

6、”和“重置”兩按鈕進行監聽。4.查詢學生基本信息模板: 采用Panel面板來設置該部分容信息,并將該面板加入到主窗體中去,采用邊緣布局進行方位設置,在上方加入“查詢”按鈕進行監聽。5.刪除學生基本信息模板: 也是采用Panel面板進行設置相關容,并用邊緣布局進行布局,并在上方添加“確定”按鈕,在下方添加“確定刪除”按鈕實現監聽。HYPERLINK l _Toc265765623三、模塊設計 定義四個Panel面板 1.定義Reg(錄入學生基本信息)面板采用BorderLayout(構造一個組件之間沒有間距的新邊界布)和Box輕量級組件進行布局,在面板的Nother方位添加一個“錄入學生基本信息

7、”的標簽,并更改字體,顏色等。接著用JTextField輕量級組件來設置單行文本編輯,并將其加入到用createHorizontalBox()方法創建具有一個從左到右顯示其組件的Box和用createHorizontalStrut()創建一個不可見的、固定寬度的組件,使其在一個橫向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量。然后Box與Box之間用createVerticalBox()創建一個從上到下顯示其組件的 Box,并用createVerticalStrut()方法創建一個不可見的、固定高度的組件,使其在一個縱向 box 中,通常使用此方法強行使兩個組件之間具有某一空間

8、量。然后在面板的South方位設置“錄入”與“重置”兩按鈕。最后實現與數據庫的橋接,能夠將從文本框獲得的信息存儲到數據庫中去。 2.定義Search(查詢學生基本信息)面板該部分同樣采用BorderLayout(構造一個組件之間沒有間距的新邊界布)和Box輕量級組件進行布局,在面板的Nother方位添加一個“查詢學生基本信息”的標簽,并更改字體,顏色等。接著用JTextField輕量級組件來設置單行文本編輯,在學號這一文本框后再添加一個“查詢”按鈕。并將其加入到用createHorizontalBox()方法創建具有一個從左到右顯示其組件的Box和用createHorizontalStrut(

9、)創建一個不可見的、固定寬度的組件,使其在一個橫向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量。然后Box與Box之間用createVerticalBox()創建一個從上到下顯示其組件的 Box,并用createVerticalStrut()方法創建一個不可見的、固定高度的組件,使其在一個縱向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量。最后實現與數據庫的橋接,能夠將從數據庫中獲取信息并顯示到文本框中去。3.定義Modify(修改學生基本信息)面板該部分同樣也是采用BorderLayout(構造一個組件之間沒有間距的新邊界布)和Box輕量級組件進行布局,在面板的

10、Nother方位添加一個“修改學生基本信息”的標簽,并更改字體,顏色等。接著用JTextField輕量級組件來設置單行文本編輯,并將其加入到用createHorizontalBox()方法創建具有一個從左到右顯示其組件的Box和用createHorizontalStrut()創建一個不可見的、固定寬度的組件,使其在一個橫向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量。并在 “學號”該文本框后添加一個“開始修改”按鈕用來監聽。然后Box與Box之間用createVerticalBox()創建一個從上到下顯示其組件的 Box,并用createVerticalStrut()方法創建一

11、個不可見的、固定高度的組件,使其在一個縱向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量。最后實現與數據庫的橋接,能夠將從數據庫中獲取信息并顯示到文本框中去,并將修改后的信息存儲到數據庫中去。4.定義Delete(刪除學生基本信息)面板該部分還是采用BorderLayout(構造一個組件之間沒有間距的新邊界布)和Box輕量級組件進行布局,在面板的Nother方位添加一個“修改學生基本信息”的標簽,并更改字體,顏色等。接著用JTextField輕量級組件來設置單行文本編輯,在學號這一文本框后再添加一“確定”按鈕實現監聽。并將其所有文本框和標簽加入到用createHorizontal

12、Box()方法創建具有一個從左到右顯示其組件的Box和用createHorizontalStrut()創建一個不可見的、固定寬度的組件,使其在一個橫向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量。并在 “學號”該文本框后添加一個“開始修改”按鈕用來監聽。然后Box與Box之間用createVerticalBox()創建一個從上到下顯示其組件的 Box,并用createVerticalStrut()方法創建一個不可見的、固定高度的組件,使其在一個縱向 box 中,通常使用此方法強行使兩個組件之間具有某一空間量,還在本面板的South方位添加“確定刪除”按鈕。最后實現與數據庫的橋接

13、,能夠將從數據庫中獲取信息并顯示到文本框中去,刪除后同時在數據庫中也刪除該信息并保存該操作。HYPERLINK l _Toc265765624四、方案的實施1、學生信息管理系統的登錄學生信息管理系統可由管理員和學生兩種身份的人使用。管理員和學生身份登錄所能操作的功能有很大的區別。系統初始化一個系統管理員,登錄名:admin 密碼:admin 學生登錄系統的登錄名為學號,密碼也為學號(如:10001),登錄后可以修改密碼。登錄界面登錄系統后的界面注冊學生信息界面修改學生信息界面查詢學生信息界面刪除學生信息界面1 程序類的設計DeleteListener.java:刪除監聽JTMouseListe

14、ner.java:樹狀視圖LoginListener.java:登陸監聽ResetListener.java:重置監聽SaveListener.java:保存監聽SearchAllListener.java:搜索所有學生信息SearchDListener.java:搜索一個學生信息SearchListener.java:搜索一個學生信息SearchRListener.java:搜索一個學生信息SubmitListener.java:提交信息監聽2 系統的使用說明與環境配置學生信息管理系統提供了管理員和學生這兩個角色登錄系統,管理員通過用戶名:admin 密碼:admin 登錄系統后可以進行相應

15、的操作。學生通過以自己的學號(如10001)作為用戶名和密碼登錄系統后進行相應的學生權限圍的操作。數據庫:Mysql連接數據庫的登錄名:root 密碼:zfz代碼: DeleteListener.java:刪除監聽package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.utton;import javax.swing.JOptionPane;import manager.dao.JdbcIcpCURD;import

16、manager.ui.conponent.DeletePanel;publicclass DeleteListener implements ActionListener publicvoid actionPerformed(ActionEvent e) utton =(utton) e.getSource();DeletePanel dp=(DeletePanel) .getParent();String xuehao=dp.xuehaoFd.getText();String msg= 你確定要刪除學號為+xuehao+的學生信息么?;int i=JOptionPane.showConfir

17、mDialog(dp,msg,提示信息,JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);if(i=0)JdbcIcpCURD curd=new JdbcIcpCURD();boolean b=curd.deleteByXuehao(Integer.parseInt(xuehao);if(b)dp.errorLb.setText(刪除成功);elsedp.errorLb.setText(刪除失敗);return; JTMouseListener.java:樹狀視圖package manager.ui.listener;import j

18、ava.awt.CardLayout;importjava.awt ponent;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JTree;import javax.swing.tree.DefaultMutableTreeNode;importjavax.swing.tree.TreeNode;import javax.swing.tree.TreePath;import manager.ui.conponent.MainFrame;import manager.

19、ui.conponent.PLeft;publicclassJTMouseListenerimplements MouseListener Overridepublicvoid mouseClicked(MouseEvent e) / TODO Auto-generated method stub JTree jt=(JTree) e.getSource(); PLeft p=(PLeft) jt.getParent(); MainFrame f=(MainFrame) p.getParent().getParent().getParent().getParent(); TreePath pa

20、th = jt.getPathForLocation(e.getX(), e.getY();if(path=null)return; DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); String s=node.toString(); CardLayout cl=f.getPright().getLayout();if(s.equals(注冊學生) cl.show(f.getPright(), register); if(s.equals(修改學生信息) cl.show(f.g

21、etPright(), modify); if(s.equals(查詢學生信息) cl.show(f.getPright(), search); if(s.equals(刪除學生信息) cl.show(f.getPright(), delete); if(s.equals(學生信息管理) cl.show(f.getPright(), welcom); Overridepublicvoid mouseEntered(MouseEvent e) / TODO Auto-generated method stubOverridepublicvoid mouseExited(MouseEvent e)

22、 / TODO Auto-generated method stubOverridepublicvoid mousePressed(MouseEvent e) / TODO Auto-generated method stubOverridepublicvoid mouseReleased(MouseEvent e) / TODO Auto-generated method stubLoginListener.java:登陸監聽package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.

23、ActionListener;import javax.swing.utton;importjavax.swing.JOptionPane;import manager.ui.conponent.Login;import manager.ui.conponent.MainFrame;publicclassLoginListenerimplements ActionListener Overridepublicvoid actionPerformed(ActionEvent e) utton bt=(utton) e.getSource();Login frame=(Login) bt.getP

24、arent().getParent().getParent().getParent();String username=frame.usernameTa.getText().trim();String password=frame.passwordTa.getText().trim();if(username!=null|password!=null)if(admin.equals(username)&123.equals(password)new MainFrame().setVisible(true);frame.dispose();elseframe.messageLb.setText(

25、用戶名或密碼錯誤);elseframe.messageLb.setText(用戶名或密碼錯誤); ResetListener.java:重置監聽package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.utton;import manager.ui.conponent.RegPanel;publicclassResetListenerimplements ActionListener Overridepublicvoi

26、d actionPerformed(ActionEvent e) utton =(utton) e.getSource(); RegPanel jp=(RegPanel) .getParent(); jp.xuehaoFd.setText(); Fd.setText(); jp.addressFd.setText(); SaveListener.java:保存監聽package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java

27、x.swing.utton;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.ModifyPanel;publicclassSaveListenerimplements ActionListener Overridepublicvoid actionPerformed(ActionEvent e) utton =(utton) e.getSource();ModifyPanel mp=(ModifyPanel) .getParent();String xuehao=m

28、p.xuehaoTf.getText().trim();String name=Tf.getText().trim();String gender=mp.genderTf.getText().trim();String address=mp.addressTf.getText().trim();String oldXuehao=mp.xuehaoFd.getText().trim();if(oldXuehao=null|xuehao.equals()oldXuehao=xuehao;if(xuehao=null|xuehao.equals()mp.errorLb.setText(

29、請輸入修改后的學號.);return;if(name=null|name.equals()mp.errorLb.setText(請輸入修改后的.);return;if(gender=null|gender.equals()mp.errorLb.setText(請輸入修改后的性別.);return;if(address=null|address.equals()mp.errorLb.setText(請輸入修改后的地址.);return;Student stu=new Student();stu.setXuehao(Integer.parseInt(xuehao);stu.setName(name

30、);stu.setGender(gender);stu.setAddress(address);int old=Integer.parseInt(oldXuehao);JdbcIcpCURD curd=new JdbcIcpCURD();if(curd.modify(stu, old)mp.errorLb.setText(修改成功.); SearchAllListener.java:搜索所有學生信息 package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener

31、;import java.util.Vector;import javax.swing.utton;import javax.swing.JTextArea;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.SearchPanel;publicclass SearchAllListener implements ActionListener Overridepublicvoid actionPerformed(ActionEvent e) utton =(utton)

32、 e.getSource();SearchPanel sp=(SearchPanel) .getParent();JTextArea jt=sp.resultTa;JdbcIcpCURD curd=new JdbcIcpCURD();Vector students=curd.getAllStudent();StringBuilder sb=new StringBuilder();for(Student s:students)sb.append( );sb.append(s.getXuehao();sb.append(t);sb.append(s.getName();sb.append(t);s

33、b.append(s.getGender();sb.append(t);sb.append(s.getAddress();sb.append(t);sb.append(s.getRegTime().toString();sb.append(n);jt.setText(sb.toString(); SearchDListener.java:搜索一個學生信息package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.utto

34、n;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.DeletePanel;importmanager.ui.conponent.ModifyPanel;importmanager.ui.conponent.SearchPanel;publicclassSearchDListenerimplements ActionListener Overridepublicvoid actionPerformed(ActionEvent e) utton =(utton) e.

35、getSource();DeletePanel dp=(DeletePanel) .getParent();JdbcIcpCURD curd=new JdbcIcpCURD();String s=dp.xuehaoFd.getText().trim();Student stu=curd.searchByXuehao(Integer.parseInt(s);if(stu=null)dp.errorLb.setText(沒有查詢到此學生);return;dp.xuehaoTf.setText(new Integer(stu.getXuehao().toString();Tf.setT

36、ext(stu.getName();dp.genderTf.setText(stu.getGender();dp.addressTf.setText(stu.getAddress(); SearchListener.java:搜索一個學生信息package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.utton;import manager.dao.JdbcIcpCURD;import manager.domain.St

37、udent;import manager.ui.conponent.ModifyPanel;publicclassSearchListenerimplements ActionListener Overridepublicvoid actionPerformed(ActionEvent e) utton =(utton) e.getSource();ModifyPanel mp=(ModifyPanel) .getParent();String s=mp.xuehaoFd.getText().trim();if(s=null|s.equals()mp.errorLb.setText(請輸入學號

38、.);return;JdbcIcpCURD curd=new JdbcIcpCURD();Student stu=curd.searchByXuehao(Integer.parseInt(s);mp.xuehaoTf.setText(new Integer(stu.getXuehao().toString();Tf.setText(stu.getName();mp.genderTf.setText(stu.getGender();mp.addressTf.setText(stu.getAddress(); SearchRListener.java:搜索一個學生信息package

39、manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.utton;import manager.dao.JdbcIcpCURD;import manager.domain.Student;importmanager.ui.conponent.ModifyPanel;import manager.ui.conponent.SearchPanel;publicclassSearchRListenerimplements ActionL

40、istener Overridepublicvoid actionPerformed(ActionEvent e) utton =(utton) e.getSource();SearchPanel sp=(SearchPanel) .getParent();JdbcIcpCURD curd=new JdbcIcpCURD();String s=sp.xuehaoTf.getText().trim();Student stu=curd.searchByXuehao(Integer.parseInt(s);if(stu=null)return;StringBuilder sb=new String

41、Builder();sb.append( );sb.append(stu.getXuehao();sb.append(t);sb.append(stu.getName();sb.append(t);sb.append(stu.getGender();sb.append(t);sb.append(stu.getAddress();sb.append(t);sb.append(stu.getRegTime().toString();sb.append(n);sp.resultTa.setText(sb.toString(); SubmitListener.java:提交信息監聽package ma

42、nager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Date;import javax.swing.utton;import javax.swing.JLabel;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.RegPanel;publicclassSubmitListenerimplements ActionListener Overridepublicvoid actionPerformed(ActionEvent e) utton =(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論