使用Java Swing開發的學生信息管理系統(界面美觀)

設計一個學生基本信息管理系統,實現“系統登錄”,“學生信息增加”,“學生信息查詢”,“學生信息刪除”,“學生信息修改”,“學生信息導入”,“學生信息導出”等功能,具體要求如下:

  1. 整個系統按照MVC設計模式進行開發,系統包結構如下:

  1. view包存放所有的用戶界面
  2. controller包存放所有的事件處理監聽器類
  3. vo包中存放所有的實體類,如User,Student等
  4. dao包中存放所有的操作類,如UserDao,StudentDao等
  5. util包中存放所有的功能類,如jdbc的封裝類,數據格式校驗類,密碼加密類等。

 

  1. 視圖部分要求
  1. 採取swing組件設計“登錄界面”,“系統主界面”,“信息增加界面”,“查詢界面”,“信息修改界面”、“密碼修改界面”,“系統幫助界面”,“關於界面”
  2. 對於“登陸界面”,包含“登陸”,“取消”,“退出”三個按鈕及其他輸入組件。

當點擊“登陸”按鈕時,若“用戶名”或“密碼”沒有輸入,顯示提示信息“用戶名或密碼不能爲空”;當用戶名及密碼不正確時,顯示提示信息“用戶名或密碼不正確,請重新輸入”,用戶最多可以嘗試3次,若輸入3次均不正確,則退出系統;

當點擊“取消”按鈕時,將界面中的所有輸入清空;

當點擊“退出”按鈕時,首先顯示詢問對話框“您確信退出該系統嗎?”,若點擊“是”,則退出系統,否則返回到“登陸”界面。(提示信息框使用JOptionPane類的showMessageDialog方法,詢問框使用JOptionPane類的showOptionDialog方法)

  1. 對於“主界面”,使用下拉菜單顯示所有操作功能,包括“基本操作”菜單,“導入導出”菜單,“幫助”菜單。“基本操作”菜單包括“增加”、“查詢”、“密碼修改”、“退出”等菜單項,“導入導出”菜單包括“從excel導入”、“從txt導入”、“導出到excel”、“導出到txt”等菜單項,“幫助菜單”包括“關於本系統”、“系統幫助”等菜單項,在某些菜單項之間增加必要的分割線。

當選擇“導入”功能時,首先顯示文件對話框,選擇相應的文件,將文件中的數據增加到數據庫中。增加時要進行關鍵字段的重複檢查:若文件中某行的學號與數據庫表中的學號重複時,顯示提示信息“文件中某些行的學號在數據庫中已存在,請檢查”,若導入成功,顯示提示信息“成功導入***條記錄到數據庫中”。當選擇“導出”功能時,同樣先顯示文件對話框,輸入目標文件,然後將學生表中的數據寫入到文件中,並顯示提示框“成功導出***條數據到文件中”。導入導出時,txt文件的格式自行定義。當選擇其他菜單項時,進入相應的操作界面。

  1. 對於“信息增加界面”,要求輸入學號,姓名,性別,生日,省份,特長,手機號碼等信息,性別輸入使用“單選框”,省份輸入使用“下拉列表框”,特長使用“多選框”,其他輸入項使用文本框,界面中還包括“保存”,“取消”,“返回”三個操作按鈕,當點擊“保存”按鈕時,首先對輸入的信息做一些基本的校驗,包括:
  1. 所有信息都必須輸入或選擇,若爲空,則顯示提示框“***字段不能爲空”
  2. 對於學號,要求是10位長度的純數字組成,否則顯示提示框“學號格式不正確”
  3. 輸入的學號不能在數據庫中存在,否則顯示提示框“該學號已存在”
  4. 對於手機號碼,要求是合法的手機號碼,否則顯示提示框“手機號碼格式不正確”
  5. 對於生日,要求是合法的日期,即“yyyy-mm-dd”格式,否則顯示提示框“輸入的生日字段不是一個有效的日期”

上述驗證通過後,在數據庫中增加一條記錄,並顯示詢問框“您輸入的信息已成功保存,是否繼續輸入?”,若點擊“是”則清空各組件內容後返回到“增加界面”,否則返回到“主界面”;

當點擊“取消”按鈕時,清空各組件的輸入或選擇

當點擊“返回”按鈕時,關閉“信息增加”界面,返回到“主界面”

  1. 對於“查詢界面”,包括三個區域,最上面區域是查詢條件及“開始查詢”和“清空條件”兩個按鈕,可以按“學號”,“姓名”,“性別”,“省份”等多字段組合查詢,中間區域以表格形式顯示查詢結果,最下面顯示“修改”,“刪除”,“導出到excel”,“返回”四個操作按鈕。

當點擊“開始查詢”按鈕時,按照輸入條件進行組合查詢,將查詢結果顯示在表格中;

當點擊“修改”按鈕時,將表格中選擇的記錄顯示在“信息修改”界面中,該界面與“信息增加”界面相同;

當點擊“刪除”按鈕時,首先顯示確認對話框,“您確信要刪除選中的記錄嗎?”選擇“是”時,從數據庫中刪除該記錄,並顯示提示框“該記錄成功刪除”,然後返回到“查詢界面”;

當點擊“導出到excel”按鈕時,首先顯示一個文件選擇對話框,輸入導出的excel文件名,然後將查詢結果寫到excel文件中,並顯示提示信息“查詢結果已成功導出到excel文件中”

  1. 對於“密碼修改”界面,要求輸入原密碼,新密碼,確認新密碼三個信息,同時包括“修改”,“取消”,“返回”三個按鈕。

當點擊“修改”按鈕時,若原密碼不正確,則顯示提示框“原密碼不正確”,

當“新密碼”與“確認新密碼”不相同時,顯示提示框“兩次密碼不一致,請檢查”,

輸入的密碼還必須符合一定複雜性,比如“密碼長度6-10;密碼中至少包含一個數字,一個大寫字母,一個小寫字母,不能有空格”

  1. 對於“系統幫助”界面,請事先將本系統的文檔資料寫入到一個txt文件,然後在該界面中採用多行文本框將txt文件中的內容顯示出來,其內容包括各組員的設計報告中第四部分總結彙集一起,要求字數不少於2000字。
  2. 對於“關於”界面,顯示系統的名稱,班級,學號,姓名,時間等信息
  1. 數據庫部分要求
  1. 數據庫採用mysql數據庫,表結構自行設計,學生基本信息表中學號爲主鍵,用戶表中密碼採取md5或其他算法加密存放
  2. 數據庫類型,數據庫名稱,數據庫用戶名,密碼不要採取硬編碼,存放在屬性文件中。

 

下面是我依據要求使用Swing寫的學生信息管理系統。大致介紹如下:

  • 系統詳細設計類圖

 

二、系統運行界面截圖(包括:主界面及每個功能界面)

2.1、登陸界面

 

輸入錯誤:

密碼輸入正確,進入主界面。

 

2.2、主界面

2.3、添加學生信息界面

添加學生信息對學號進行了格式、是否與數據庫重複的處理,出生日期格式要求爲YYYY-MM-DD,聯繫電話必須是11位。校驗完成後,則提示添加成功提示框,如果需要繼續添加,點擊是,如果不需要,點擊否。

2.4、查詢學生信息界面

查詢信息有多條件查詢、分頁、修改、刪除、導出Excel、返回六大功能。其中多條件查詢是根據你輸入的信息進行查詢,什麼都不輸入就是全部查詢出來,並顯示在表中。修改、刪除是將表格中所選的信息進行修改和刪除的操作。

    

條件查詢:

 

選中表格中的一行數據並修改學生信息,做數據回顯:

 

修改成功:

 

選中一行,並將這行的數據刪除:

 

導出到Excel是將數據導出到一個Excel文件中。

2.5、密碼修改界面

 

修改成功:

2.5、從Excel導入界面

 

路徑輸入錯誤:

 

路徑輸入正確,會先和數據庫中的字段進行比對,將重複的元素去掉,再將其插入到數據庫中。插入成功後會提示插入成功。

2.5、從txt導入界面

 

成功導入提示:

2.5、從Excel導出界面

原理同從Excel導入,下面是導出成功界面

 

導出信息如下:

   

 

2.5、從txt導出界面

 

導出成功界面:

 

相應的導出信息如下,共八條數據:

 

2.5、關於本系統

    1. 系統幫助

 

 

該項目的源碼在github上:https://github.com/oldlinfeng/Practice

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章