Java面向?qū)ο蟪绦虻脑O(shè)計課程設(shè)計報告_第1頁
Java面向?qū)ο蟪绦虻脑O(shè)計課程設(shè)計報告_第2頁
Java面向?qū)ο蟪绦虻脑O(shè)計課程設(shè)計報告_第3頁
Java面向?qū)ο蟪绦虻脑O(shè)計課程設(shè)計報告_第4頁
Java面向?qū)ο蟪绦虻脑O(shè)計課程設(shè)計報告_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 WORD 38/442016-2017學(xué)年第2學(xué)期經(jīng)濟(jì)管理學(xué)院實踐教學(xué)成 績 評 定 表實踐教學(xué)項目面向?qū)ο蟪绦蛟O(shè)計專業(yè)信息管理與信息系統(tǒng) 學(xué)生班級學(xué)號評語成績?nèi)掌谡n程實踐任務(wù)書學(xué)院經(jīng)濟(jì)管理學(xué)院專業(yè)信息管理與信息系統(tǒng) 學(xué)號15040602150406021504060222課程名稱面向?qū)ο蟪绦蛟O(shè)計設(shè)計題目學(xué)生信息管理系統(tǒng)程序設(shè)計設(shè)計要求與任務(wù):使用任意一款JAVA開發(fā)工具開發(fā)一個實用的應(yīng)用系統(tǒng),如記事本、計算器、繪圖軟件、JSP或者M(jìn)IS??梢圆扇/S或者C/S模式。此次設(shè)計的具體要求還包括:(1)根據(jù)課程設(shè)計時間選擇適當(dāng)規(guī)模大小的設(shè)計題目,分小組進(jìn)行設(shè)計。(2)小組組長為組員分配任務(wù),根

2、據(jù)合理的安排,按照軟件開發(fā)的流程與方法,踏實地開展課程設(shè)計活動。(3)課程設(shè)計包括開發(fā)編碼和撰寫相關(guān)文檔。最后提交詳細(xì)的課程設(shè)計報告。(4)開發(fā)出可上機運行的JAVA應(yīng)用,并上機測試。工作計劃與進(jìn)度安排:第1-3天:布置任務(wù)、分組、粗略調(diào)查、選題、可行性研究、系統(tǒng)規(guī)劃。第4-6天 :深入調(diào)研、系統(tǒng)分析、建立數(shù)據(jù)邏輯模型、系統(tǒng)設(shè)計、建立數(shù)據(jù)物理模型第7-9天 :系統(tǒng)實施、程序設(shè)計、系統(tǒng)調(diào)試。 第9-10天 :應(yīng)用測試、整理資料、撰寫報告、準(zhǔn)備驗收指導(dǎo)教師(簽字): 年 月 日專業(yè)負(fù)責(zé)人(簽字):年 月 日學(xué)院院長(簽字):年 月 日摘要信息技術(shù)的快速發(fā)展的同時也帶來了社會各個行業(yè)的發(fā)展。它的發(fā)展

3、已經(jīng)深入到社會的各個角落。作為社會發(fā)展的前沿技術(shù),各行各業(yè)只要對其合理的進(jìn)行運用,必將會帶來巨大的便捷。成功的運用信息技術(shù)將為各類學(xué)校學(xué)生信息管理帶來無限便利。作為計算機應(yīng)用的一部分,使用學(xué)生信息管理系統(tǒng)對學(xué)生檔案進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、性好、壽命長、成本低等,提高學(xué)生檔案管理的效率。本文介紹了系統(tǒng)開發(fā)的全過程。該系統(tǒng)以Windows為操作平臺,Java為開發(fā)語言,Access為數(shù)據(jù)庫,Eclipse為開發(fā)工具,使用JDBC技術(shù)進(jìn)行連接,實現(xiàn)了在可視化的基礎(chǔ)上,利用數(shù)據(jù)庫進(jìn)行后臺管理。系統(tǒng)由學(xué)生和老師基本信息添加、學(xué)生和老師基本信息查

4、詢、學(xué)生和老師基本信息刪除、學(xué)生和老師基本信息修改與退出系統(tǒng)等功能模塊組成,基本功能較全面。用戶界面友好、清晰、操作簡便,易學(xué)易用;系統(tǒng)可讀性好,易于維護(hù)、更新,安全性較好。采用傳統(tǒng)下拉菜單功能選擇,方便、快捷、一目了然,并且在一個窗體中進(jìn)行操作,可視化強。采用鏈入數(shù)據(jù)庫進(jìn)行存儲,可動態(tài)進(jìn)行查看、操作,這樣的系統(tǒng)可修改性較強。關(guān)鍵字:面向?qū)ο螅籈clipse;JDBC目錄TOC o 1-3 h u HYPERLINK l _Toc23265 1 前言 PAGEREF _Toc23265 1 HYPERLINK l _Toc23001 1.1 課題簡介 PAGEREF _Toc23001 1 H

5、YPERLINK l _Toc10135 1.2 設(shè)計目的 PAGEREF _Toc10135 1 HYPERLINK l _Toc12897 2 需求分析 PAGEREF _Toc12897 2 HYPERLINK l _Toc31272 2.1業(yè)務(wù)需求分析 PAGEREF _Toc31272 2 HYPERLINK l _Toc24016 2.2功能需求分析 PAGEREF _Toc24016 2 HYPERLINK l _Toc26512 2.2.1 學(xué)生信息 PAGEREF _Toc26512 2 HYPERLINK l _Toc15129 2.2.2 教師信息 PAGEREF _To

6、c15129 2 HYPERLINK l _Toc334 2.2.3 成績管理 PAGEREF _Toc334 3 HYPERLINK l _Toc29364 3 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc29364 4 HYPERLINK l _Toc32551 3.1 Java連接數(shù)據(jù)庫 PAGEREF _Toc32551 4 HYPERLINK l _Toc29132 3.1.1 關(guān)系數(shù)據(jù)庫概述 PAGEREF _Toc29132 4 HYPERLINK l _Toc25618 3.1.2 通過JDBC訪問數(shù)據(jù)庫 PAGEREF _Toc25618 4 HYPERLINK l _Toc1435

7、6 3.2 數(shù)據(jù)庫與基本表設(shè)計 PAGEREF _Toc14356 4 HYPERLINK l _Toc24383 4 系統(tǒng)設(shè)計與實施 PAGEREF _Toc24383 7 HYPERLINK l _Toc21788 4.1 Eclipse Java Neon 3 PAGEREF _Toc21788 7 HYPERLINK l _Toc29338 4.2 結(jié)構(gòu)設(shè)計 PAGEREF _Toc29338 7 HYPERLINK l _Toc6482 4.3 文件組織結(jié)構(gòu) PAGEREF _Toc6482 8 HYPERLINK l _Toc29250 4.4 登錄模塊 PAGEREF _Toc2

8、9250 8 HYPERLINK l _Toc24603 4.4.1 設(shè)計構(gòu)想 PAGEREF _Toc24603 8 HYPERLINK l _Toc19651 4.4.2 實現(xiàn)登錄模塊 PAGEREF _Toc19651 8 HYPERLINK l _Toc17319 4.5 學(xué)生信息模塊 PAGEREF _Toc17319 11 HYPERLINK l _Toc18966 4.5.1 設(shè)計構(gòu)想 PAGEREF _Toc18966 11 HYPERLINK l _Toc20587 4.5.2 實現(xiàn)學(xué)生信息模塊主界面 PAGEREF _Toc20587 11 HYPERLINK l _Toc

9、8118 4.5.3添加信息 PAGEREF _Toc8118 12 HYPERLINK l _Toc15719 4.5.4 刪除信息 PAGEREF _Toc15719 14 HYPERLINK l _Toc27212 4.5.5修改信息 PAGEREF _Toc27212 16 HYPERLINK l _Toc6051 4.5.6 基本信息查詢 PAGEREF _Toc6051 18 HYPERLINK l _Toc25020 4.5.7 成績查詢 PAGEREF _Toc25020 20 HYPERLINK l _Toc646 4.5.8 退出系統(tǒng) PAGEREF _Toc646 22

10、HYPERLINK l _Toc666 4.6 教師信息模塊 PAGEREF _Toc666 22 HYPERLINK l _Toc31733 結(jié)束語 PAGEREF _Toc31733 26 HYPERLINK l _Toc83 參考文獻(xiàn) PAGEREF _Toc83 27 HYPERLINK l _Toc19036 附錄A PAGEREF _Toc19036 281 前言1.1課題簡介學(xué)生信息檔案的管理對于學(xué)校的管理者來說至關(guān)重要,學(xué)生信息是高等學(xué)校非常重要的一項數(shù)據(jù)資源,是一個教育單位不可缺少一部分。近幾年來,國家政策的調(diào)整,我國高等院校大規(guī)模擴(kuò)招,給高等院校的教學(xué)管理、學(xué)生管理、后勤管

11、理等方面都帶來不少的沖擊。其包含的數(shù)據(jù)量大,涉與的人員面廣,而且需要與時更新,故較為復(fù)雜,難以單純地依靠人工管理,而且傳統(tǒng)的人工管理方式既不易于規(guī)化,管理效率也不高。目前我國各類高等院校中還有相當(dāng)一部分學(xué)生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上,中、小學(xué)對學(xué)生檔案的管理更是落后,這樣的管理機制嚴(yán)重浪費人力和物力,已經(jīng)不能適應(yīng)時代發(fā)展的要求。計算機應(yīng)用的普與已進(jìn)入人類社會生活的各個領(lǐng)域,并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計算機為物質(zhì)基礎(chǔ)的信息管理方法所取代。作為計算機應(yīng)用的一部分,使用學(xué)生信息管理系統(tǒng)對學(xué)生檔案進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高

12、、存儲量大、性好、壽命長、成本低等。這些優(yōu)點能夠極提高學(xué)生檔案管理的效率,也是學(xué)校向科學(xué)化、正規(guī)化管理發(fā)展的必要條件。1.2 設(shè)計目的對學(xué)生信息管理系統(tǒng),目的是為了對學(xué)校的學(xué)生信息管理工作進(jìn)行系統(tǒng)的管理,以提高工作效率。通過程序設(shè)計,開發(fā)出學(xué)生信息管理系統(tǒng)代替相應(yīng)的手工管理。學(xué)生信息管理系統(tǒng)可為用戶提供充足的信息和快捷的查詢手段,不但可以實現(xiàn)教師、學(xué)生的信息錄入、修改與刪除,而且可以實現(xiàn)學(xué)生成績的信息錄入、修改與刪除,同時可以對所有的信息進(jìn)行查詢,實現(xiàn)學(xué)校的規(guī)化管理。2 需求分析2.1業(yè)務(wù)需求分析開發(fā)一個系統(tǒng)前,首先應(yīng)該對該系統(tǒng)要實現(xiàn)的功能進(jìn)行整體的分析和規(guī)劃,確保在開發(fā)過程中不會出現(xiàn)重大缺陷

13、和漏洞。因此,在軟件開發(fā)的過程中應(yīng)嚴(yán)格按照軟件工程的流程進(jìn)行系統(tǒng)的分析與設(shè)計。該系統(tǒng)是學(xué)生管理系統(tǒng),應(yīng)以學(xué)生信息為中心,組織相關(guān)程序結(jié)構(gòu)。通過分析可知,學(xué)生信息管理系統(tǒng)的主要業(yè)務(wù)應(yīng)有:學(xué)生基本信息管理、教師基本信息管理、學(xué)生成績管理、用戶管理等。2.2功能需求分析通過業(yè)務(wù)需求分析可知,該系統(tǒng)主要有三類用戶:學(xué)生,教師和系統(tǒng)管理員。因此,該系統(tǒng)的功能可分為學(xué)生信息管理、教師信息管理和成績管理,具體有以下幾個方面:學(xué)生:可以對每個學(xué)生的信息進(jìn)行添加、修改、刪除和查詢。成績:可以對每個學(xué)生所學(xué)科目的成績進(jìn)行添加、刪除、修改和查詢。教師:可以對每個教師的信息進(jìn)行添加、刪除、修改和查詢。2.2.1 學(xué)生

14、信息學(xué)生信息主要存儲了學(xué)生的基本情況,包括學(xué)號、性別、所在班級、所在學(xué)院等信息。一個學(xué)號可唯一確定一名學(xué)生。學(xué)生信息集中進(jìn)行管理,方便進(jìn)行相關(guān)基本信息的查詢、修改、刪除等活動,大大簡化了手續(xù)。2.2.2 教師信息教師信息主要存儲了教師的基本情況,包括教師編號、性別、職稱、所在學(xué)院等信息。一個教師編號可唯一確定一名教師。教師信息集中進(jìn)行管理,方便進(jìn)行查詢、修改、刪除和人事變動等活動,大大簡化了手續(xù)。2.2.3 成績管理成績管理的對象是學(xué)生所學(xué)科目的相應(yīng)成績,對成績進(jìn)行集中管理,方便了學(xué)生查詢成績、教師添加、查詢和修改成績,加快了查詢速度,提高了準(zhǔn)確率,大大簡化了手續(xù)。圖2-1 學(xué)生信息管理系統(tǒng)功

15、能模塊圖3 數(shù)據(jù)庫設(shè)計3.1 Java連接數(shù)據(jù)庫3.1.1 關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫,是建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù),用二維表格形式來表述實體與實體之間關(guān)系。有3種完整性約束:實體完整性、參照完整性和用戶自定義完整性,其中實體完整性和參照完整性是關(guān)系數(shù)據(jù)庫中必不可少的完整性條件,分別表述為主屬性不為空和一表或多表之間具有某種對應(yīng)關(guān)系、相互制約。3.1.2 通過JDBC訪問數(shù)據(jù)庫JDBC由Java編程語言編寫的類和接口組成,是實現(xiàn)Java與各種數(shù)據(jù)庫連接的關(guān)鍵,提供了將Java與數(shù)據(jù)庫連接起來的程序接口,使用戶可以以SQL的形式編寫訪問請求,

16、然后傳給數(shù)據(jù)庫,其結(jié)果再由這一接口返回,從而實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)操作的目的。3.2 數(shù)據(jù)庫與基本表設(shè)計由于該系統(tǒng)數(shù)據(jù)量不大,采用了Access作為數(shù)據(jù)庫,所建的系統(tǒng)數(shù)據(jù)庫名為“student1”。通過需求分析、概念設(shè)計與邏輯設(shè)計,可知該系統(tǒng)數(shù)據(jù)庫應(yīng)涉與到以下基本表:班級表、學(xué)生表、教師表,具體結(jié)構(gòu)如下:班級表(班級編號,班級名稱,所屬學(xué)院,班級人數(shù))該表用于保存班級信息,其數(shù)據(jù)字典如表3-1所示:表3-1 班級表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明班級編號varchar(20)主鍵班級名稱varchar(20)所屬學(xué)院varchar(20)班級人數(shù)int學(xué)生表(學(xué)號,性別,出生日期,班級編號)該表用于存

17、儲學(xué)生的基本信息,其數(shù)據(jù)字典如表3-2所示:表3-2 學(xué)生表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明學(xué)號varchar(20)主鍵varchar(20)性別varchar(20)屬性域為“男”,“女”出生日期data班級編號varchar(20)外鍵,參照班級表中班級編號教師表(教師編號,性別,職稱,所屬學(xué)院,出生日期)該表用于存儲教師的基本信息,其數(shù)據(jù)字典如表3-3所示:表3-3 教師表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明教師編號varchar(20)主鍵varchar(20)性別varchar(20)屬性域為“男”,“女”出生日期data職稱varchar(20)所屬學(xué)院varchar(20)課程表(課程號,

18、課程名,學(xué)分)該表用于存儲學(xué)生可學(xué)課程的基本信息,其數(shù)據(jù)字典如表3-4所示:表3-4 課程表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明課程號varchar(20)主鍵課程名varchar(20)學(xué)分int成績表(學(xué)號,課程號,成績,教師編號)該表用于存儲學(xué)生可學(xué)課程的成績情況,其數(shù)據(jù)字典如表3-5所示:表3-5課程表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明學(xué)號varchar(20)外鍵,參照學(xué)生表中學(xué)號課程號varchar(20)外鍵,參照課程表中課程編號成績int教師編號varchar(20)外鍵,參照教師表中教師編號4 系統(tǒng)設(shè)計與實施4.1Eclipse Java Neon 3出于穩(wěn)定性與便利性的考量,本設(shè)計選用了

19、Eclipse Java Neon 3作為程序的開發(fā)環(huán)境,Eclipse是著名的跨平臺的自由 HYPERLINK :/baike.baidu /item/%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83 t _blank 集成開發(fā)環(huán)境(IDE),最初由OTI和 HYPERLINK :/baike.baidu /item/IBM t _blank IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,它本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。使用時可清楚的發(fā)現(xiàn)錯誤,并能根據(jù)相應(yīng)規(guī)則進(jìn)行

20、修改,大大簡化了程序檢查工作。由于package explorer的存在,使得隨時查找文件變得十分方便。同時又提供有很便利的數(shù)據(jù)庫連接方式。Eclipse Java Neon 3具有以下四大優(yōu)點:(1)從編寫、查錯、編譯、幫助等等各方面為Java語言貼身定做。 (2)可無限擴(kuò)展的強大插件功能。 (3)眾多公司、廠商、組織支持。 (4)開放,自由,免費。 4.2 結(jié)構(gòu)設(shè)計該系統(tǒng)用于對學(xué)生的基本信息與學(xué)生的成績進(jìn)行管理,主要包括添加、修改和刪除學(xué)生與教師基本信息,錄入、修改和刪除學(xué)生的成績,查詢學(xué)生和教師的基本信息,為了方便,全部操作均在界面中完成。由此,將該系統(tǒng)結(jié)構(gòu)設(shè)計為登錄模塊、學(xué)生模塊、教師

21、模塊,對應(yīng)于學(xué)生與教師這兩類主要用戶。由于涉與界面設(shè)計,因此調(diào)用了java.awt.*、java.awt.event.*、javax.swing.*、java.util.*、javax.swing.event.*、java.sql.*等包。4.3 文件組織結(jié)構(gòu)學(xué)生信息管理系統(tǒng)中使用的根目錄文件夾是“nnn”,其文件組織結(jié)構(gòu)圖如圖4-1所示:圖4-1 項目文件組織結(jié)構(gòu)圖4.4 登錄模塊登錄模塊使進(jìn)入學(xué)生信息管理系統(tǒng)的第一個界面,相當(dāng)于一個的主頁。4.4.1 設(shè)計構(gòu)想該系統(tǒng)是學(xué)生信息管理系統(tǒng),用戶為三類:學(xué)生、教師和系統(tǒng)管理員,可在相應(yīng)的權(quán)限圍查詢和更新系統(tǒng)數(shù)據(jù)。因此,不同的用戶在登錄時需有不同的

22、角色選項,此外,還應(yīng)有各自的用戶名和密碼。4.4.2 實現(xiàn)登錄模塊(1)要生成一個界面,可應(yīng)用AWT知識。設(shè)置其名字為學(xué)生信息管理系統(tǒng);設(shè)置布局管理器為(null)布局管理器,這樣方便往其中放組件;設(shè)置窗口大小和位置,還要設(shè)置窗口可見性。(2)生成界面后,接下來就需要實現(xiàn)每個功能,在設(shè)計構(gòu)想中提到的第一個功能就是要對操作對象的身份進(jìn)行選擇,這里要用下拉列表的形式進(jìn)行選擇,也可以用單選按鈕來完成這個功能。在這項功能中,首先要選擇身份,所以要定義一個JLabel來說明,定義完JLabel后,就需要定義一個JComoBox,也就是下拉列表框。(3)輸入用戶名和密碼。需要用兩個JLabel來指明需要輸

23、入用戶名和密碼。輸入用戶名需要定義一個JTextField,也就是單文本框。同時輸入文本,但輸入密碼和輸入用戶名是不一樣的,它需要定義成JPasswordField,它的輸出結(jié)果為“*”這樣的形式。(4)創(chuàng)建兩個按鈕,一個是登錄按鈕,另一個是取消登錄按鈕,用來輸入的用戶名和密碼與選擇的身份進(jìn)行提交。當(dāng)然要對登錄按鈕事件進(jìn)行事件監(jiān)聽,首先要驗證用戶名和密碼是否正確并對上,然后根據(jù)選擇的身份來選擇需要進(jìn)入那個界面,其代碼如下:publicclass Info_Manage extends Frame implements ActionListener JLabel JLUserName =new

24、JLabel(用戶名);JLabel JLPaw=new JLabel (密碼);JLabel JLP=new JLabel(角色);JTextField JTUserName =new JTextField();JPasswordField JPsw=new JPasswordField();JTextField jt=new JTextField(10);String str=學(xué)生,教師,管理者;JComboBox JCB=new JComboBox(str);utton 1=new utton(登錄);utton 2=new utton(取消);public Info_Manage()t

25、his.setTitle(學(xué)生信息管理系統(tǒng));this.setLayout(null);JLUserName.setBounds(100,40,100,20);this.add(JLUserName);JTUserName.setBounds(200,40,100,20);this.add(JTUserName);JLPaw.setBounds(100,100,100,20);this.add(JLPaw);JPsw.setBounds(200,100,80,20);this.add(JPsw);JCB.setBounds(200,150,100,20);this.add(JCB);JLP.s

26、etBounds(100,150,100,20);this.add(JLP);1.setBounds(100,200,60,20);this.add(1);1.addActionListener(this);2.setBounds(200,200,60,20);this.add(2);2.addActionListener(this);this.setVisible(true);this.setBounds(10, 10, 400, 250);addWindowListener(new WindowAdapter()publicvoid windowClosing(WindowEvent e)

27、System.exit(0););JCB.addActionListener(new ActionListener()publicvoid actionPerformed(ActionEvent e)inth=JCB.getSelectedIndex();if(h=0) student_manage sm=new student_manage();elseif(h=1) teacher_manage tm=new teacher_manage(););publicvoid actionPerformed(ActionEvent e)if(e.getSource()=1)String name=

28、JTUserName.getText();String password=new String(JPsw.getPassword();if(name!=null&(name.equals(1)&(password!=null&(password.equals(1)new student_manage();else其運行結(jié)果如圖4-2所示:圖4-2 Info_Manage.java的顯示結(jié)果4.5 學(xué)生信息模塊當(dāng)選擇“學(xué)生”時,單擊“登錄”按鈕就可以進(jìn)入學(xué)生信息管理系統(tǒng)了,其信息量很大,具體如下所述:4.5.1 設(shè)計構(gòu)想進(jìn)入了學(xué)生信息管理系統(tǒng),就可以對摸個學(xué)生的信息進(jìn)行輸入、修改和刪除,也能對同

29、學(xué)的信息進(jìn)行查詢和對程序進(jìn)行查詢。當(dāng)打算離開時,還要有一個選項用來退出學(xué)生信息管理系統(tǒng)。4.5.2 實現(xiàn)學(xué)生信息模塊主界面根據(jù)設(shè)計構(gòu)想,首先要搭建一個界面,然后吧學(xué)生信息操作的每一部分分為3大塊,分別是信息、查詢、和其他,并把他們做成菜單形式,最后將對信息的輸入,修改和刪除做成子菜單添加到信息菜單下;將查詢信息和查詢成績添加到查詢菜單下;將突出添加到其他菜單下,并把他做成子菜單放在一個菜單下,這樣做是為了如果以后需要更多的功能,可以很方便的進(jìn)行添加。創(chuàng)建菜單需要的定義JMenu,創(chuàng)建子菜單需要定義JMenuItem,并且要指明是添加到哪個菜單下面,下面是學(xué)生管理模塊主界面的部分代碼class

30、student_manage extends JFrame implements ActionListenerJMenuBar jm=new JMenuBar();JMenu jm1=new JMenu(信息);JMenuItem jmi1=new JMenuItem(增加信息);JMenuItem jmi2=new JMenuItem(刪除信息);JMenuItem jmi3=new JMenuItem(修改信息);JMenu jm2=new JMenu(查詢);JMenuItem jmi21=new JMenuItem(基本信息查詢);JMenuItem jm22=new JMenuIte

31、m(成績查詢);JMenu jm3=new JMenu(其他);JMenuItem jmi31=new JMenuItem(退出);/添加組件與設(shè)置位置部分代碼與 Info_Manage.java類似public void actionPerformed(ActionEvent e)if(e.getSource()=jmi1) new AddStudent();if(e.getSource()=jmi2) new DeleteStudent();if(e.getSource()=jmi3) new GetStudent();if(e.getSource()=jmi21) new SetStud

32、ent();if(e.getSource()=jmi31) new UsingExit().setVisible(true);if(e.getSource()=jm22) new SetGrade();其運行結(jié)果如圖4-3所示:圖4-3 student_manage.java的顯示結(jié)果4.5.3添加信息每個子菜單都對應(yīng)著一個操作界面,接下來對每一個子菜單進(jìn)行講解。當(dāng)選擇信息菜單下的“增加信息”子菜單時,將彈出如圖所示的界面,它調(diào)用了AddStudent.java類實現(xiàn)該功能。通過對“增加信息”這一子菜單設(shè)置監(jiān)聽,彈出界面。AddStudent.java的代碼如下:class AddStuden

33、t extends JFrame implements ActionListenerJLabel JL=new JLabel(添加基本信息,JLabel.CENTER);JLabel JLNumber=new JLabel(學(xué)號);JTextField JTNumber=new JTextField();JLabel JLName=new JLabel();JTextField JTName=new JTextField();JLabel JLClass=new JLabel(班級);JTextField JTClass=new JTextField();JLabel JLsex=new JL

34、abel(性別);ButtonGroup BG=new ButtonGroup();JRadioButton JRB1=new JRadioButton(男);JRadioButton JRB2=new JRadioButton(女);JLabel JL1=new JLabel(學(xué)院);JTextField JT1=new JTextField();JLabel JL2=new JLabel(生日);JTextField JT2=new JTextField();utton Add=new utton(添加);utton Next=new utton(重置);utton Exit=new ut

35、ton(退出);String sql=;/添加組件與設(shè)置位置部分代碼與 Info_Manage.java類似public void actionPerformed(ActionEvent e)if(e.getSource()=Add)String snumber=JTNumber.getText();String sname=JTName.getText();String sclass=JTClass.getText();String ssex=女;if(JRB1.isSelected()ssex=男;String scollect=JT1.getText();String sbir=JT2.

36、getText();sql=select * from student where id=+snumber+;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection cot=DriverManager.getConnection(jdbc:odbc:student1,);Statement stm=cot.createStatement();ResultSet rs=stm.executeQuery(sql);if(rs.next()JOptionPane.showMessageDialog(null, 該已存在!);elsesql=

37、insert into student values(+snumber+,+sname+,+sclass+,+ssex+,+scollect+,+sbir+);int i=stm.executeUpdate(sql);if(i0) JOptionPane.showMessageDialog(null, 添加成功!);else JOptionPane.showMessageDialog(null, 刪除失?。?;catch(Exception ee)if(e.getSource()=Next)JTNumber.setText(null);JTName.setText(null);JTClass.

38、setText(null);JT1.setText(null);JT2.setText(null);if(e.getSource()=Exit)setVisible(false);其運行結(jié)果如圖4-4所示:圖4-4 AddStudent.java的顯示結(jié)果4.5.4 刪除信息當(dāng)選擇信息菜單下的刪除信息子菜單是,將彈出圖 所示的界面,它調(diào)用了DeleteStudent.java類實現(xiàn)該功能,其代碼如下:class DeleteStudent extends JFrame implements ActionListenerJLabel JL=new JLabel(刪除基本信息,JLabel.CEN

39、TER);JLabel JLNumber=new JLabel(學(xué)號);JTextField JTNumber =new JTextField();JLabel JLName=new JLabel();JTextField JTName=new JTextField();utton Del=new utton(刪除);utton Next=new utton(重置);utton Exit=new utton(退出);String sql=;/添加組件與設(shè)置位置部分代碼與 Info_Manage.java類似publicvoid actionPerfomed(ActionEvent e)if(e

40、.getSource()=Del)String snumber=JTNumber.getText();String sname=JTName.getText();sql=select * from student where Id=+snumber+;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection cot=DriverManager.getConnection(jdbc:odbc:student1,);Statement stm=cot.createStatement();ResultSet rs=stm.executeQue

41、ry(sql);if(rs.next()sql=delete * from student where Id=+snumber+;intn=stm.executeUpdate(sql);if(n0) JOptionPane.showMessageDialog(null,刪除成功);else JOptionPane.showMessageDialog(null,刪除失敗);else JOptionPane.showMessageDialog(null,此用戶不存在);catch(Exception er)if(e.getSource()=Next)JTNumber.setText(null);J

42、TName.setText(null);if(e.getSource()=Exit) setVisible(false);其運行結(jié)果如圖4-5所示:圖4-5 DeleteStudent.java的顯示結(jié)果4.5.5修改信息當(dāng)選擇“信息”菜單下的“修改信息”子菜單時,將彈出如圖所示的界面,他將點用了GetStudent.java類實現(xiàn)該功能。GetStudent.java的代碼如下:class GetStudent extends JFrame implements ActionListenerJLabel JL=new JLabel(學(xué)生基本信息,JLabel.CENTER);JLabel J

43、LNumber=new JLabel(學(xué)號);JTextField JTNumber=new JTextField();JLabel JLName=new JLabel();JTextField JTName=new JTextField();JLabel JLClass=new JLabel(班級);JTextField JTClass=new JTextField();JLabel JLsex=new JLabel(性別);ButtonGroup BG=new ButtonGroup();JRadioButton JRB1=new JRadioButton(男);JRadioButton

44、JRB2=new JRadioButton(女);JLabel JL1=new JLabel(學(xué)院);JTextField JT1=new JTextField();JLabel JL2=new JLabel(生日);JTextField JT2=new JTextField();utton Get=new utton(修改);utton Next=new utton(取消);utton Exit=new utton(退出);String sql=;/添加組件與設(shè)置位置部分代碼與 Info_Manage.java類似publicvoid actionPerformed(ActionEvent

45、e)if(e.getSource()=Get)String snumber=JTNumber.getText();String sname=JTName.getText();String sclass=JTClass.getText();String ssex=女,sql;if(JRB1.isSelected()ssex=男; String scollect=JT1.getText();String sbir= JT2.getText();sql=select * from student where ld=+snumber+;try Class.forName(sun.jdbc.odbc.J

46、dbcOdbcDriver); Connection cot=DriverManager.getConnection(jdbc:odbc:student1,); Statement stm=cot.createStatement(); ResultSet rs=stm.executeQuery(sql);if(rs.next()sql=update student set name=+sname+,class= +sclass+,sex=+ssex+,collect= +scollect+,bir=+sbir+ where ld= +snumber+;intn=stm.executeUpdat

47、e(sql);if(n0) JOptionPane.showMessageDialog(null,修改成功);else JOptionPane.showMessageDialog(null,修改失敗!); else JOptionPane.showMessageDialog(null,此用戶不存在!);catch(Exception er) if (e.getSource()=Next)JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);if(

48、e.getSource()=Exit)setVisible(false);publicstaticvoid main (String args)new GetStudent();其運行結(jié)果如圖4-6所示:圖4-6 GetStudent.java的顯示結(jié)果4.5.6 基本信息查詢當(dāng)選擇“查詢”菜單下的“基本信息查詢”子菜單時,將彈出如圖所示的界面,它調(diào)用了SetStudent.java類實現(xiàn)該功能。SetStudent.java的代碼如下:class SetStudent extends JFrame implements ActionListener JLabel JL=new JLabel(

49、查詢基本信息,JLabel.CENTER);JLabel JLNumber=new JLabel(學(xué)號);JTextField JTNumber=new JTextField();JLabel JLName=new JLabel();JTextField JTName=new JTextField();JLabel JLClass=new JLabel(班級);JTextField JTClass=new JTextField();JLabel JLsex=new JLabel(性別);ButtonGroup BG=new ButtonGroup();JRadioButton JRB1=new

50、 JRadioButton(男);JRadioButton JRB2=new JRadioButton(女);JLabel JL1=new JLabel(學(xué)院);JTextField JT1=new JTextField();JLabel JL2=new JLabel(生日);JTextField JT2=new JTextField();utton Set=new utton(查詢);utton Next=new utton(重置);utton Exit=new utton(退出);String sql=;/添加組件與設(shè)置位置部分代碼與 Info_Manage.java類似publicvoi

51、d actionperfoemaed(ActionEvent e)if(e.getSource()=Set)String snumber=JTNumber.getText();String sname=JTName.getText();String sclass=JTClass.getText();String ssex=女;if(JRB1.isSelected() ssex=男;String scollect=JT1.getText();String sbir=JT2.getText();sql=select * from student where Id=+snumber+;tryClas

52、s.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection cot=DriverManager.getConnection(jdbc.odbc.student1,);Statement stm=cot.createStatement();ResultSet rs=stm.executeQuery(sql);if(rs.next()String name=rs.getString(2);JTName.setText(name);String clas=rs.getString(3);JTClass.setText(clas); String sex=rs

53、.getString(4);JRB1.setText(sex);String collect=rs.getString(5);JT1.setText(collect);String bir=rs.getString(6);JT2.setText(bir);intn=stm.executeUpdate(sql);if(n0) JOptionPane.showMessageDialog(null,查詢成功);else JOptionPane.showMessageDialog(null,查詢失敗);Else JOptionPane.showMessageDialog(null,此用戶不存在);ca

54、tch(Exception ee)if(e.getSource()=Next)JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);if(e.getSource()=Exit) setVisible(false);其運行結(jié)果如圖4-6所示:圖4-7 SetStudent.java的顯示結(jié)果4.5.7 成績查詢當(dāng)選擇“查詢”菜單下的“成績查詢”子菜單時,調(diào)用SetGrade.java類來實現(xiàn)功能。SetGrade.java的代碼如下:class S

55、etGrade extends JFrame implements ActionListenerJLabel JL=new JLabel(查詢成績,JLabel.CENTER);JLabel JLNumber=new JLabel(學(xué)號);JTextField JTNumber=new JTextField();JLabel JLName=new JLabel ();JTextField JTName=new JTextField();JLabel JLClass=new JLabel(大學(xué)英語);JTextField JTClass=new JTextField();JLabel JLsex

56、=new JLabel(性別);ButtonGroup BG=new ButtonGroup();JRadioButton JRB1=new JRadioButton(男);JRadioButton JRB2=new JRadioButton(女);JLabel JL1=new JLabel(高等數(shù)學(xué));JTextField JT1=new JTextField();JLabel JL2=new JLabel(班級);JTextField JT2=new JTextField();utton Set=new utton(查詢);utton Next=new utton(重置);utton Ex

57、it=new utton(退出);String sql=;/添加組件與設(shè)置位置部分代碼與 Info_Manage.java類似publicvoid actionPerformed(ActionEvent e)if(e.getSource()=Set)String snumber=JTNumber.getText();String sname=JTName.getText();String sclass=JTClass.getText();String ssex=女;if(JRB1.isSelected() ssex=男;String scollect=JT1.getText();String

58、sbir=JT2.getText();sql=select * from grade where ld=+snumber+;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection cot=DriverManager.getConnection(jdbc:odbc:student1,);Statement stm=cot.createStatement();ResultSet rs=stm.executeQuery(sql);if(rs.next()String name=rs.getString(2);JTName.setText(n

59、ame);String clas=rs.getString(3);JTClass.setText(clas);String sex=rs.getString(4);JRB1.setText(sex);String collect=rs.getString(5);JT1.setText(collect);String bir=rs.getString(6);JT2.setText(bir);intn=stm.executeUpdate(sql);if(n0) JOptionPane.showMessageDialog(null, 查詢成功!);else JOptionPane.showMessageDialog(null,查詢失敗!);else JOptionPane.showMessageDialog(null, 此用戶不存在!);catch(Exception ee)if(e.getSource()=Next)JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);if(e.getSource()=Exit) setVisible(false);其運行結(jié)果如圖4-8所示:圖4-8 SetGrad

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論