JAVA程序設(shè)計課程設(shè)計報告高考管理系統(tǒng)的開發(fā)_第1頁
JAVA程序設(shè)計課程設(shè)計報告高考管理系統(tǒng)的開發(fā)_第2頁
JAVA程序設(shè)計課程設(shè)計報告高考管理系統(tǒng)的開發(fā)_第3頁
JAVA程序設(shè)計課程設(shè)計報告高考管理系統(tǒng)的開發(fā)_第4頁
JAVA程序設(shè)計課程設(shè)計報告高考管理系統(tǒng)的開發(fā)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 java程序設(shè)計 課程設(shè)計報告課 題: 高考管理系統(tǒng)的開發(fā) 姓 名: 學(xué) 號: 同組姓名: 專業(yè)班級: 計算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師: 設(shè)計時間: 2011.2.283.4 評閱意見:評定成績: 指導(dǎo)老師簽名: 年 月 日 目錄一、課程設(shè)計目的和意義 .1二、高考信息管理系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 .21、建立文科數(shù)據(jù)表.22、建立文科從數(shù)據(jù)表.33、理科數(shù)據(jù)表的設(shè)計.4三、主控界面的設(shè)計.4四、理科成績錄入系統(tǒng)設(shè)計6五、理科成績查詢模塊的設(shè)計 .9六、文科成績錄入與查詢窗體的設(shè)計 .10 1、文科成績錄入窗體設(shè)計10 2、文科成績查詢窗體的開發(fā).11 3、文科成績查詢窗體的開發(fā).11七、運行與調(diào)試

2、11八、實驗小結(jié)心得體會 .15參考文獻(xiàn) .16附錄:部分源代碼 .16一、課程設(shè)計目的和意義高考成績的統(tǒng)計和查詢工作是非常重要的。高考成績面向的是全國范圍內(nèi)的考生,它涉及的面比較廣、數(shù)量大,如果在設(shè)計上出現(xiàn)什么問題,都會在社會上產(chǎn)生巨大的影響。在這次試驗里,并不是要開發(fā)出一套系統(tǒng)的完整的高考管理系統(tǒng)。這里只是簡單地做一個高考成績查詢與統(tǒng)計的小系統(tǒng),并沒考慮安全性的問題。主要是學(xué)習(xí)完java程序設(shè)計課程后進(jìn)行的一次全面的綜合練習(xí)。其目的在于通過課程設(shè)計,使學(xué)生能夠得到較系統(tǒng)的技能訓(xùn)練,從而鞏固和加深對java 編程的基礎(chǔ)理論知識的理解,對java開發(fā)數(shù)據(jù)庫系統(tǒng)有更深刻的認(rèn)識,培養(yǎng)學(xué)生綜合運用所

3、學(xué)理論解決實際問題的能力,使學(xué)生成為具有扎實的計算機(jī)理論基礎(chǔ)和較強(qiáng)的獨立動手能力的復(fù)合型、應(yīng)用型人才。 高考成績管理系統(tǒng)包括兩大模塊:1、 高考成績錄入。高考成績錄入包括成績的添加、修改、編輯和自動統(tǒng)計的功能。目前高考主要包括兩各方面:文科和理科。文科成績錄入和理科成績錄入分別是兩個不同的模塊。2、 高考成績查詢。成績的查詢也分為理科查詢和文科查詢兩個部分。 成績查詢系統(tǒng)最好是應(yīng)用準(zhǔn)考證號進(jìn)行查詢,這是因為準(zhǔn)考證號是全國統(tǒng)一的 每一個考生只有一個準(zhǔn)考證號,這樣就避免了同名同姓出現(xiàn)查詢重復(fù)的問題。 見圖1:所示,在這個系統(tǒng)中,包含4個模塊:理科成績錄入、理科成績查詢、文科成績錄入和文科成績查詢。

4、其中,理科成績錄入和文科成績錄入、理科成績查詢和文科成績查詢兩個模塊的設(shè)計思路基本一致。 3、建立理(文)科成績錄入和查詢界面。建立一個理科數(shù)據(jù)庫表,用來記錄準(zhǔn)考證號(作為這個數(shù)據(jù)庫表的主鍵,唯一標(biāo)識)、學(xué)生考號和姓名。另外在建立一個理科數(shù)據(jù)庫表,用來記錄學(xué)生姓名、考號之外的其他信息,并記錄各科的成績。同理文科的界面和理科的界面設(shè)計比較相似。 4、本系統(tǒng)查詢與成績統(tǒng)計。系統(tǒng)設(shè)計要求在考生查詢的同時自動進(jìn)行統(tǒng)計工作,這是一種人性化的需求,統(tǒng)計和查詢只需要一個事件代碼和一個執(zhí)行動作即可完成。高考信息管理系統(tǒng)高考信息管理系統(tǒng)主界面理科成績錄入理科成績查詢文科成績錄入文科成績查詢 圖1 高考系統(tǒng)模塊設(shè)

5、計二、高考信息管理系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計1、建立文科數(shù)據(jù)表建立文科數(shù)據(jù)表,如表1所示。 表1 文科主數(shù)據(jù)表的結(jié)構(gòu)字段名字段類型字段大小說明cardidbigint8準(zhǔn)考證號studentnamevarchar50學(xué)生姓名schoolbeforevarchar50考前學(xué)校 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計如圖2所示。該結(jié)構(gòu)說明在數(shù)據(jù)表的結(jié)構(gòu)創(chuàng)建時,設(shè)置了準(zhǔn)考證號為關(guān)鍵字段,即在cardid的左邊有一個鑰匙的符號,是關(guān)鍵字的符號。另外添加了學(xué)生姓名,還設(shè)計了該考生的考前學(xué)校,這樣,當(dāng)查詢到該考號時就可以知道該生所在學(xué)校。 圖2 文科數(shù)據(jù)庫表 2、建立文科從數(shù)據(jù)表 從表的字段主要包括4個字段,科目序號、考試成績、準(zhǔn)考證號

6、和考試科目,如表2、圖3所示。 表2 文科從數(shù)據(jù)表字段名字段類型字段大小說明subjectidbigint8cardidbigint8subjectvarchar50achievementint4subjectnameidbigint8與考試科目相對應(yīng)(數(shù)學(xué) 1;英語 2;;語文 3;政治 4;歷史 5) 圖3 文科從數(shù)據(jù)表 在表中建立一個科目序號,主要顯示個學(xué)生的科目排列,并將其按照關(guān)鍵字進(jìn)行設(shè)置。另外,要求從表中的準(zhǔn)考證號與主表中的準(zhǔn)考證號與相互關(guān)聯(lián),需要在從表中為從表的準(zhǔn)考證號建立關(guān)系。如圖4所示。 圖4 建立art和art2表之間的關(guān)系3、理科數(shù)據(jù)表的設(shè)計 理科數(shù)據(jù)表的設(shè)計應(yīng)該與理科表

7、的設(shè)計方式基本上一致,在這里就不詳細(xì)介紹了。唯一的區(qū)別就是在數(shù)據(jù)庫中存儲的數(shù)據(jù)不同,如高考文科為數(shù)學(xué)、英語、語文、政治、歷史,理科考試科目為數(shù)學(xué)、英語、語文、物理、化學(xué)。三、主控界面的設(shè)計 主界面主要用來調(diào)用其他界面,這個界面的主要作用是顯示理科成績錄入、理科成績查詢、文科成績錄入、文科成績查詢4個界面,可以根據(jù)需要對其進(jìn)行選擇。它的基本結(jié)構(gòu)如圖5所示。 圖5 主控界面圖1、放入控件與窗體布局 (1)在控件中放入一個jpanel1,將布局方式改為xylayout。 (2)在控件中放入一個4個jlabel:jlabel1、jlabel2、jlabel3、jlabel4,主要是用來設(shè)計整個界面的布

8、局。(3)在控件中放入4個jradiobutton:rdbinputsanacn(理科成績錄入)、rdbqueryscnach(理科成績查詢)、rdbinputartach(文科成績錄入)、rdbqueryartach(文科成績查詢)(4)添加鼠標(biāo)單擊事件rdbinputscnach_mouseclicked(mouseevent e)、rdbqueryscnach_mouseclicked(mouseevent e) 、rdbinputartach_mouseclicked(mouseevent e)、rdbqueryartach_mouseclicked(mouseevent e)。2、主

9、控界面設(shè)計和事件發(fā)生代碼下面是主控界面設(shè)計屬性以及事件發(fā)生代碼/顯示理科成績錄入界面 void rdbinputscnach_mouseclicked(mouseevent e) /調(diào)用理科成績錄入界面對話框 scienceachievement dlg = new scienceachievement(); dimension dlgsize = dlg.getpreferredsize(); dimension frmsize = getsize(); point loc = getlocation(); dlg.setlocation(frmsize.width - dlgsize.wi

10、dth) / 2 + loc.x, (frmsize.height - dlgsize.height) / 2 + loc.y); dlg.setmodal(true); dlg.pack(); dlg.show(); /顯示理科成績查詢界面 void rdbqqueryscnach_mouseclicked(mouseevent e) /調(diào)用理科成績查詢界面對話框 sciencequery dlg = new sciencequery(); dimension dlgsize = dlg.getpreferredsize(); dimension frmsize = getsize(); p

11、oint loc = getlocation(); dlg.setlocation(frmsize.width - dlgsize.width) / 2 + loc.x, (frmsize.height - dlgsize.height) / 2 + loc.y); dlg.setmodal(true); dlg.pack(); dlg.show(); /顯示文科成績錄入界面 void rdbinputartach_mouseclicked(mouseevent e) /調(diào)用文科成績錄入界面對話框 artsachievement dlg = new artsachievement(); /顯示

12、文科成績查詢界面 void rdbqueryartach_mouseclicked(mouseevent e) /調(diào)用文科成績查詢界面對話框 artsquery dlg = new artsquery(); 四、理科成績錄入系統(tǒng)設(shè)計 理科成績錄入窗體是承擔(dān)整個錄入過程的窗體,要將數(shù)據(jù)錄入并保存在數(shù)據(jù)表中,就需要一系列的數(shù)據(jù)庫相關(guān)空間將其連接起來。另外,在進(jìn)行成績錄入時,增加了一個對話框進(jìn)行成績的錄入(其準(zhǔn)考證號為在界面中輸入的值),這樣就能夠完成對理科成績的錄入。另外,還應(yīng)該添加的控件進(jìn)行屬性設(shè)置。 理科成績錄入窗體設(shè)計如下:(1) 加入一個jpanel1,并將其設(shè)置為xylayout1。(2

13、) 加入4個jlabel,用來布置整個窗體的布局。(3) 在控件中加入3個jlabel控件:jlabel3、jlabel4、jlabel5,代表的含義分別是“準(zhǔn)考證號”、“學(xué)生姓名”、“考前學(xué)?!?。(4) 加入3個jtextfield:jtextfield1、jtextfield2、jtextfield3.(5) 在jlabel6中加入jbutton1,將其文本標(biāo)簽設(shè)置為成績錄入。(6) 加入數(shù)據(jù)庫控件jdbtable1.(7) 加入數(shù)據(jù)庫控件database1.(8) 加入數(shù)據(jù)庫控件querydataset1. 如圖6所示為理科成績錄入主界面 圖6 理科成績錄入主界面理科成績錄入模塊的代碼如

14、下: database1.setconnection(new com.borland.dx.sql.dataset.connectiondescriptor(jdbc:odbc:local, sa, , false, sun.jdbc.odbc.jdbcodbcdriver); database1.setdatabasename(); querydataset1.setmetadataupdate(metadataupdate.tablename); querydataset1.setschemaname(dbo); querydataset1.setsort(new com.borland.

15、dx.dataset.sortdescriptor(, new string cardid, studentname, schoolbefore, new boolean true, false, false, , null, 0); querydataset1.settablename(science); querydataset1.setquery(new com.borland.dx.sql.dataset.querydescriptor(database1, select * from science, null, true, load.all); jdbtable1.setdatas

16、et(querydataset1); querydataset1.setcolumns(new column column1, column3, column4); getcontentpane().add(panel1); void jbutton1_actionperformed(actionevent e) scienceacn dlg = new scienceacn(); dimension dlgsize = dlg.getpreferredsize(); dimension frmsize = getsize(); point loc = getlocation(); dlg.s

17、etlocation(frmsize.width - dlgsize.width) / 2 + loc.x, (frmsize.height - dlgsize.height) / 2 + loc.y); dlg.setmodal(true); dlg.pack(); dlg.show(); querydataset1.refresh(); jdbtable1.setdataset(querydataset1);在上述程序段中,語句scienceacn dlg = new scienceacn()的作用是調(diào)用一個對話框,主要功能是輸入考試的各科成績。對話框的代碼如下(對話框如圖7所示): 圖7

18、 理科成績錄入的對話框 database1.setconnection(new com.borland.dx.sql.dataset.connectiondescriptor(jdbc:odbc:local, sa, , false, sun.jdbc.odbc.jdbcodbcdriver); void jbutton1_actionperformed(actionevent e) scienceachievement scienceachievement = new scienceachievement() ; int cardid = scienceachievement.cardid(

19、) ; string studentname = scienceachievement.studentname() ; string studentbefore = scienceachievement.studentbefore() ; int math = math() ; int english = english() ; int chinese = chinese() ; int physics = physics() ; int chemistry = chemistry() ; int mathid = 1 ; int englishid = 2 ; int chineseid =

20、 3 ; int physicsid = 4 ; int chemistryid = 5 ; string mathname = 數(shù)學(xué) ; string englishname = 英語 ; string chinesename = 語文 ; string physicsname = 物理 ; string chemistryname = 化學(xué) ; statement sql = database1.createstatement() ; string stmt = insert into science values(+cardid+, +studentname+ , +studentbef

21、ore+) ; string stmt1 = insert into science2 values(+cardid+,+mathid+,+mathname+,+math+) ; string stmt2 = insert into science2 values(+cardid+,+englishid+,+englishname+,+english+) ; string stmt3 = insert into science2 values(+cardid+,+chineseid+,+chinesename+,+chinese+) ; string stmt4 = insert into s

22、cience2 values(+cardid+,+physicsid+,+physicsname+,+physics+) ; string stmt5 = insert into science2 values(+cardid+,+chemistryid+,+chemistryname+,+chemistry+) ; try sql.executeupdate(stmt) ; sql.executeupdate(stmt1) ; sql.executeupdate(stmt2) ; sql.executeupdate(stmt3) ; sql.executeupdate(stmt4) ; sq

23、l.executeupdate(stmt5) ; catch(sqlexception www) 五、理科成績查詢模塊的設(shè)計 錄入成績只是高考成績管理的一部分,但是錄入部分的內(nèi)容僅僅是面向管理員,而高考信息系統(tǒng)的主要目的是讓廣大考生能夠及時查詢高考結(jié)果。錄入部分并不是整個系統(tǒng)最重要的部分,重要的是對錄入信息的開發(fā)利用,查詢信息是一個重要的工具,因此,進(jìn)行查詢窗體的開發(fā)是很有必要的。 理科成績查詢模塊窗體屬性及事件的設(shè)計如下:(1) 加入jpanel1,并設(shè)布局方式為xylayout1.。(2) 加入兩個jlabel,對窗體進(jìn)行整體布局。jlabel1的文本標(biāo)題設(shè)置為“理科成績查詢”;jlabe

24、l2在整體布局時只是起到裝飾的作用。(3) 加入一個jlabel3,文本標(biāo)題為“準(zhǔn)考證號”。(4) 加入一個jtextfield,將其命名為jtfcardid。(5) 加入一個jbutton,將其命名為jbnquery,文本設(shè)置為“執(zhí)行查詢”。(6) 加入一個jlabel4,將文本標(biāo)題設(shè)置為“總成績”。(7) 加入一個jdbtextfield1(8) 加入一個jbutton,將其命名為jbvexit。(9) 加入一個數(shù)據(jù)庫控件database1,用于連接數(shù)據(jù)庫。(10) 加入一個數(shù)據(jù)庫控件querydataset1,用于執(zhí)行sql語句。(11) 加入一個jdbtable1數(shù)據(jù)庫控件。理科成績查

25、詢模塊代碼如下: /連接數(shù)據(jù)庫(local) database1.setconnection(new com.borland.dx.sql.dataset.connectiondescriptor(jdbc:odbc:local, sa, , false, sun.jdbc.odbc.jdbcodbcdriver); void jbnquery_actionperformed(actionevent e) /進(jìn)行數(shù)據(jù)查詢 try /獲得準(zhǔn)考證號 int cardid1 = integer.parseint(jtfcardid.gettext().trim(); /查詢學(xué)習(xí)成績 querydat

26、aset1.setquery(new com.borland.dx.sql.dataset.querydescriptor(database1, select *from science2 where science2.cardid = +cardid1+, null, true, load.all); / querydataset1.setcolumns(new column column2, column3, column4, column5, column1); /加入到j(luò)dbtable1中 jdbtable1.setdataset(querydataset1); /執(zhí)行sum語句,獲得

27、成績總分 querydataset2.setquery(new com.borland.dx.sql.dataset.querydescriptor(database1, select sum(achievement) as sum_achievement from science2n + where science2.cardid =+cardid1+, null, true, load.all); /在jdbtextfield1中加入一列 jdbtextfield1.setcolumnname(sum_achievement); /把數(shù)據(jù)集加入到j(luò)dbtextfield1中 jdbtext

28、field1.setdataset(querydataset2); catch(exception sql) joptionpane.showmessagedialog(this,準(zhǔn)考證不存在,請重試); 六、文科成績錄入與查詢窗體的設(shè)計 1、文科成績錄入窗體設(shè)計(1)加入一個jpanel1,并將其設(shè)置為xylayout1。(2)加入4個jlabel,用來布置整個窗體的布局。(3)在控件中加入3個jlabel控件:jlabel3、jlabel4、jlabel5,代表的含義分別是“準(zhǔn)考證號”、“學(xué)生姓名”、“考前學(xué)校”。 (4)加入3個jtextfield:jtextfield1、jtextfi

29、eld2、jtextfield3.(5)在jlabel6中加入jbutton1,將其文本標(biāo)簽設(shè)置為成績錄入。(6)加入數(shù)據(jù)庫控件jdbtable1.(7)加入數(shù)據(jù)庫控件database1.(8)加入數(shù)據(jù)庫控件querydataset1.文科成績錄入模塊的代碼設(shè)計與理科成績錄入模塊基本一致,在這里不再詳細(xì)敘述。2、 文科成績查詢窗體的開發(fā) 文科查詢窗體與理科查詢窗體一樣,只是標(biāo)簽的標(biāo)題和數(shù)據(jù)庫控件的數(shù)據(jù)源不同而已,為保持案例的完整起見,下面進(jìn)行簡單說明。文科成績查詢模塊窗體屬性及事件的設(shè)計如下:(1) 加入jpanel1,并設(shè)布局方式為xylayout1.。(2) 加入一個jlabel1,將文本

30、設(shè)置為“文科成績查詢”。(3) 加入兩個jlabel,jlabel2、jlabel4用來作為界面布局。(4) 加入一個jlabel3,文本標(biāo)題為“準(zhǔn)考證號”。(5) 加入一個jtextfield1。(6) 加入一個jbutton,文本設(shè)置為“執(zhí)行查詢”。(7) 加入一個jlabel5,將文本標(biāo)題設(shè)置為“總成績”。(8) 加入一個jdbtextfield1(9) 加入一個jbutton,將其設(shè)置為“退出”。3、文科成績查詢代碼設(shè)計文科成績查詢模塊的代碼設(shè)計與理科成績查詢模塊功能基本一致七、運行與調(diào)試 八、實驗小結(jié)與心得體會本案例通過實現(xiàn)一個高考管理系統(tǒng);以及對數(shù)據(jù)庫的查詢、添加使讀者更加深入理解

31、jdbc技術(shù)。同時,要設(shè)計實現(xiàn)整個數(shù)據(jù)庫的應(yīng)用程序的類圖,培養(yǎng)讀者的設(shè)計能力。由于管理系統(tǒng)之間有相似性,因此熟悉了這一管理系統(tǒng),讀者在實踐中在遇到相關(guān)管理系統(tǒng)的開發(fā)也相對容易了。在這次試驗中我了解了如何在java中編寫程序代碼將java程序語言同數(shù)據(jù)庫連接起來,知道了如何利用java程序代碼對數(shù)據(jù)庫表中的內(nèi)容進(jìn)行增、刪、查、改等操作,也理解了程序中的一些函數(shù)代碼,了解了有些系統(tǒng)函數(shù)在系統(tǒng)中的功能以及不同的數(shù)據(jù)庫壞境當(dāng)連接數(shù)據(jù)庫時java程序代碼也會相應(yīng)的有所改變,sql2000與sql2005使用時,java程序編碼在連接數(shù)據(jù)庫時就有細(xì)微差別。例如:sql2000 環(huán)境下:string dri

32、vername=”com.microsaft.jdbc.sqlserver.sqlserverdriver”;string dburl=”jdbc:microsoft:sqlserver:/localhost:14433;databasename=sample”;在sql2005環(huán)境下: string drivername=”com.microsaftsqlserver.sqlserverdriver”;string dburl=”jdbc:sqlserver:/localhost:14433;databasename=sample”;而database1.setconnection(new

33、com.borland.dx.sql.dataset.connectiondescriptor(jdbc:odbc:local, sa, , false, sun.jdbc.odbc.jdbcodbcdriver);也是一種連接數(shù)據(jù)庫的方法。連接數(shù)據(jù)庫前要先建立數(shù)據(jù)源,選擇要處理的數(shù)據(jù)庫。mouseclicked(mouseevent e)是以個鼠標(biāo)單擊事件;querydataset1.refresh();為刷新數(shù)據(jù)集querydataset1;jdbtable1.setdataset(querydataset1);表示為在jdbtable1中顯示數(shù)據(jù)集querydataset1;scienc

34、eachievement dlg=new scienceachievement();是調(diào)用理科成績錄入界面對話框;dlg.show();作用是將對象顯示出來,如將理科成績錄入界面對話框顯示出來;dispose();代表銷毀窗口;trim()系統(tǒng)函數(shù)表示消除格。如:當(dāng)輸入的數(shù)據(jù)中有空格也能因?qū)⒖崭窈雎远@示相應(yīng)的數(shù)據(jù)。在源程序中因有些鍵單擊后沒反應(yīng),故做了些相應(yīng)的修改。如:文科成績錄入對話框中jbutton2(取消)鍵沒反應(yīng),故添加了jbutton響應(yīng)事件 jbutton2.addactionlistener(new java.awt.event.actionlistener() public

35、void actionperformed(actionevent e) jbutton2_actionperformed(e); );void jbutton2_actionperformed(actionevent e) cancel() ; 因為該實驗中用到了數(shù)據(jù)源(odbc),故該程序中的一些代碼必須做相應(yīng)的改變。如將程序中類似info.dbo.science的代碼中的info.dbo.去掉,因為環(huán)境不能夠識別。另外,在查詢時不應(yīng)該只查詢特定的一項,應(yīng)將源代碼querydataset2.setquery(new com.borland.dx.sql.dataset.querydescri

36、ptor(database1, select sum(achievement) as sum_achievement from info.dbo.art2n + where art2.cardid = 10000001, null, true, load.all); 改為querydataset2.setquery(new com.borland.dx.sql.dataset.querydescriptor(database1, select sum(achievement) as sum_achievement from art2n + where art2.cardid = +cardid

37、1+, null, true, load.all);再此實驗中遇到了一些問題,如在對文理科進(jìn)行成績錄入時,出現(xiàn)異常。成績錄入主界面中的數(shù)據(jù)無法傳從到成績錄入對話框,輸入的數(shù)據(jù)丟失,成績錄入主界面的數(shù)據(jù)為空值,從而導(dǎo)致函數(shù)調(diào)用時,無法對空值轉(zhuǎn)化為整形而出現(xiàn)異常。將一些關(guān)鍵字設(shè)為全局變量即可解決此問題。通過本案例的學(xué)習(xí),是操作者強(qiáng)化了所學(xué)的知識,加強(qiáng)了動手能力的同時,了解相關(guān)的業(yè)務(wù),為后續(xù)工作打下了堅實的基礎(chǔ)。參考文獻(xiàn)1、黃曉東,java課程設(shè)計案例精編,中國水利水電出版社,2007。 2、崔曉靜、嚴(yán)小舟,java語言程序設(shè)計,中國鐵道出版社,2007.12附錄:部分源代碼package info

38、management;import java.awt.*;import javax.swing.*;import com.borland.jbcl.layout.*;import com.borland.dx.dataset.*;import com.borland.dbswing.*;import com.borland.dx.sql.dataset.*;import java.awt.event.*;public class artsachievement extends jdialog private jpanel panel1 = new jpanel(); private borde

39、rlayout borderlayout1 = new borderlayout(); private jpanel jpanel1 = new jpanel(); private xylayout xylayout1 = new xylayout(); private jlabel jlabel1 = new jlabel(); private jlabel jlabel2 = new jlabel(); private jlabel jlabel3 = new jlabel(); private jlabel jlabel4 = new jlabel(); private jlabel j

40、label5 = new jlabel(); private jtextfield jtextfield1 = new jtextfield(); private jtextfield jtextfield2 = new jtextfield(); private jtextfield jtextfield3 = new jtextfield(); private jlabel jlabel6 = new jlabel(); private jbutton jbutton1 = new jbutton(); private jdbtable jdbtable1 = new jdbtable()

41、; private database database1 = new database(); private querydataset querydataset1 = new querydataset(); public artsachievement(frame frame, string title, boolean modal) super(frame, title, modal); try jbinit(); pack(); catch(exception ex) ex.printstacktrace(); public artsachievement() this(null, , f

42、alse); private void jbinit() throws exception panel1.setlayout(borderlayout1); jpanel1.setlayout(xylayout1); jlabel1.setfont(new java.awt.font(dialog, 0, 23); jlabel1.setforeground(color.red); jlabel1.setborder(borderfactory.createetchedborder(); jlabel1.settext( 文科成績錄入); jlabel2.setborder(borderfac

43、tory.createetchedborder(); jlabel3.settext( 準(zhǔn)考證號); jlabel4.settext( 學(xué)生姓名); jlabel5.settext( 考前學(xué)校); jlabel6.setborder(borderfactory.createetchedborder(); jbutton1.settext(成績錄入); jbutton1.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(actionevent e) jbutton1_actionpe

44、rformed(e); ); jdbtable1.setborder(borderfactory.createetchedborder(); database1.setconnection(new com.borland.dx.sql.dataset.connectiondescriptor(jdbc:odbc:local, sa, , false, sun.jdbc.odbc.jdbcodbcdriver); jtextfield1.settext(0); querydataset1.setquery(new com.borland.dx.sql.dataset.querydescripto

45、r(database1, select * from art, null, true, load.all); getcontentpane().add(panel1); panel1.add(jpanel1, borderlayout.center); jpanel1.add(jlabel1, new xyconstraints(0, 0, 399, 48); jpanel1.add(jlabel3, new xyconstraints(30, 50, 114, 21); jpanel1.add(jlabel4, new xyconstraints(150, 50, 108, 23); jpa

46、nel1.add(jlabel5, new xyconstraints(270, 50, 104, 23); jpanel1.add(jlabel2, new xyconstraints(0, 46, 399, 76); jpanel1.add(jtextfield1, new xyconstraints(40, 81, 90, 20); jpanel1.add(jtextfield2, new xyconstraints(160, 81, 90, 20); jpanel1.add(jtextfield3, new xyconstraints(280, 81, 90, 20); jpanel1

47、.add(jlabel6, new xyconstraints(1, 119, 397, 50); jpanel1.add(jbutton1, new xyconstraints(280, 134, 90, 20); jpanel1.add(jdbtable1, new xyconstraints(2, 172, 396, 215); public int cardid() int card = integer.parseint(jtextfield1.gettext().trim() ; return card ; public string studentname() return jte

48、xtfield2.gettext().trim().tostring() ; public string studentbefore() return jtextfield3.gettext().trim().tostring(); void jbutton1_actionperformed(actionevent e) artacn dlg = new artacn(); dimension dlgsize = dlg.getpreferredsize(); dimension frmsize = getsize(); point loc = getlocation(); dlg.setlo

49、cation(frmsize.width - dlgsize.width) / 2 + loc.x, (frmsize.height - dlgsize.height) / 2 + loc.y); dlg.setmodal(true); dlg.pack(); dlg.show(); querydataset1.refresh(); jdbtable1.setdataset(querydataset1); package infomanagement;import java.awt.*;import javax.swing.*;import com.borland.jbcl.layout.*;

50、import java.awt.event.*;import com.borland.dx.sql.dataset.*;import java.sql.* ;public class artacn extends jdialog private jpanel jpanel1 = new jpanel(); private xylayout xylayout1 = new xylayout(); private jlabel jlabel1 = new jlabel(); private jlabel jlabel2 = new jlabel(); private jlabel jlabel3 = new jlabel(); private jtextfield jtextfield1 = new jtextfield(); private jlabel jlabel4 = new jlabel(); private jtextfield jtextfield2 = new jtex

溫馨提示

  • 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

提交評論