




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、18java程序設(shè)計(jì)java程序設(shè)計(jì)系專(zhuān) 業(yè)班 級(jí)08級(jí)嵌入式系統(tǒng)實(shí)驗(yàn)班學(xué) 號(hào) 26號(hào)姓 名 趙黎明題 目 學(xué)生成績(jī)管理系統(tǒng)任課教師 彭潔 一、課程設(shè)計(jì)要求:1、用到書(shū)上(課本或?qū)嶒?yàn)冊(cè))上的至少三個(gè)實(shí)例;2、用到至少兩種布局和至少四種組件;3、用到對(duì)話(huà)框;4、用到對(duì)數(shù)據(jù)庫(kù)的查詢(xún)、刪除、添加和修改;5、最好用到輸入輸出流;6、具有一定的實(shí)際意義。二、用到的實(shí)例及實(shí)際意義:2.1 程序所用到的實(shí)例:1、java2使用教程第10章例題10.12 p282;2、java2使用教程第11章例題11.8 p323;3、java2使用教程第15章所有例題均有使用作參考 p391-411;4、在其他參考書(shū)和網(wǎng)
2、上也有用到相關(guān)程序和代碼,并有所參考和借鑒。2.2程序的實(shí)際意義: 本學(xué)生成績(jī)管理系統(tǒng)具有對(duì)學(xué)生成績(jī)進(jìn)行管理的功能。并于數(shù)據(jù)庫(kù)相連接,能夠?qū)W(xué)生的成績(jī)、姓名、出生日期進(jìn)行查詢(xún)、添加和刪除等,簡(jiǎn)捷方便,容易使用。三、程序代碼及運(yùn)行效果:3.1.1 主類(lèi)代碼:/*主類(lèi)代碼*/import javax.swing.*;import java.awt.*;import java.awt.event.*;class mypanel extends jpanel image img=toolkit.getdefaulttoolkit().getimage(c:/a.jpg); public void pa
3、int(graphics g) g.drawimage(img,0,0,this); public class mainform extends jframe implements actionlistener jmenu msystem=new jmenu(系統(tǒng)); jmenuitem mexit=new jmenuitem(退出); jmenu moperate=new jmenu(數(shù)據(jù)操作); jmenuitem madd=new jmenuitem(添加); jmenuitem mdel=new jmenuitem(刪除); jmenuitem mmodify=new jmenuite
4、m(修改); jmenu mquery=new jmenu(查詢(xún)); jmenuitem mname=new jmenuitem(按姓名查詢(xún)); jmenuitem mscore=new jmenuitem(按成績(jī)查詢(xún)); jmenu mhelp=new jmenu(幫助); jmenuitem mabout=new jmenuitem(軟件信息); jmenubar mbar=new jmenubar(); mainform() super(學(xué)生成績(jī)管理系統(tǒng)); setsize(875,583); msystem.add(mexit); moperate.add(madd); moperat
5、e.add(mdel); moperate.add(mmodify); mquery.add(mname); mquery.add(mscore); mhelp.add(mabout); mbar.add(msystem); mbar.add(moperate); mbar.add(mquery); mbar.add(mhelp); setjmenubar(mbar); mexit.addactionlistener(this); madd.addactionlistener(this); mdel.addactionlistener(this); mmodify.addactionliste
6、ner(this); mname.addactionlistener(this); mscore.addactionlistener(this); mabout.addactionlistener(this); setcontentpane(new mypanel(); setvisible(true); public void actionperformed(actionevent ae) if(ae.getsource()=mexit) system.exit(0); else if(ae.getsource()=mabout) joptionpane.showmessagedialog(
7、this,學(xué)生成績(jī)管理系統(tǒng)nn應(yīng)用科學(xué)學(xué)院nn2011年4月,軟件信息,joptionpane.information_message); else if(ae.getsource()=madd) new addform().setvisible(true); else if(ae.getsource()=mdel) new deleteform().setvisible(true); else if(ae.getsource()=mmodify) new modifyform().setvisible(true); else if(ae.getsource()=mname) new name
8、queryform().setvisible(true); else if(ae.getsource()=mscore) new scorequeryform().setvisible(true); public static void main(string args) new mainform(); 3.1.2 運(yùn)行效果:3.2.1 修改數(shù)據(jù):/*修改數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class modifyform extends jfra
9、me implements actionlistener jlabel labname=new jlabel(姓名:); jlabel labdate=new jlabel(出生日期:); jlabel labscore=new jlabel(成績(jī):); jtextfield txtname=new jtextfield(20); jtextfield txtdate=new jtextfield(18); jtextfield txtscore=new jtextfield(20); jbutton btnmodify=new jbutton(修改); jbutton btncancel=n
10、ew jbutton(取消); jbutton btnquery=new jbutton(查詢(xún)); jpanel pan=new jpanel(); jpanel pan1=new jpanel(); jpanel pan2=new jpanel(); jpanel pan3=new jpanel(); jpanel pan4=new jpanel(); connection con; statement sql; resultset rs; modifyform() super(修改數(shù)據(jù)); setsize(400,300); pan1.add(labname); pan1.add(txtn
11、ame); pan2.add(labdate); pan2.add(txtdate); pan3.add(labscore); pan3.add(txtscore); pan4.add(btnquery); pan4.add(btnmodify); pan4.add(btncancel); pan.setlayout(new gridlayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getcontentpane().add(pan,center); getcontentpane().add(pan4,south); btnque
12、ry.addactionlistener(this); btnmodify.addactionlistener(this); btncancel.addactionlistener(this); btnmodify.setenabled(false); txtdate.seteditable(false); txtscore.seteditable(false); setvisible(true); txtname.requestfocus(); public void actionperformed(actionevent ae) if(ae.getsource()=btncancel) d
13、ispose(); else if(ae.getsource()=btnquery) try class.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e) trycon=drivermanager.getconnection(jdbc:odbc:sun,gxy,123); sql=con.createstatement(); rs=sql.executequery(select * from 成績(jī)表 where 姓名=+txtname.gettext()+); if(rs.next() txtname.
14、settext(rs.getstring(姓名); txtscore.settext(new integer(rs.getint(成績(jī)).tostring(); txtdate.settext(rs.getdate(出生日期).tostring(); btnmodify.setenabled(true); txtdate.seteditable(true); txtscore.seteditable(true); else system.out.println(不存在該記錄! ); btnmodify.setenabled(false); txtname.settext(); txtscore
15、.settext(); txtdate.settext(); txtdate.seteditable(false); txtscore.seteditable(false); catch(sqlexception e) else if(ae.getsource()=btnmodify) try system.out.println(update 成績(jī)表 set 出生日期=+txtdate.gettext()+,成績(jī)=+txtscore.gettext()+ where 姓名=+txtname.gettext()+); sql.executeupdate(update 成績(jī)表 set 出生日期=
16、+txtdate.gettext()+,成績(jī)=+txtscore.gettext()+ where 姓名=+txtname.gettext()+); system.out.println(記錄修改完畢!); btnmodify.setenabled(false); txtname.settext(); txtscore.settext(); txtdate.settext(); txtdate.seteditable(false); txtscore.seteditable(false); con.close(); catch(sqlexception e) public static voi
17、d main(string args) new modifyform(); 3.2.2 運(yùn)行效果:3.3.1 刪除數(shù)據(jù):/*刪除數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class deleteform extends jframe implements actionlistenerjlabel labname=new jlabel(姓名:); jlabel labdate=new jlabel(出生日期:); jlabel labscore=new j
18、label(成績(jī):); jtextfield txtname=new jtextfield(20); jtextfield txtdate=new jtextfield(18); jtextfield txtscore=new jtextfield(20); jbutton btndelete=new jbutton(刪除); jbutton btncancel=new jbutton(取消); jbutton btnquery=new jbutton(查詢(xún)); jpanel pan=new jpanel(); jpanel pan1=new jpanel(); jpanel pan2=new
19、 jpanel(); jpanel pan3=new jpanel(); jpanel pan4=new jpanel(); connection con; statement sql; resultset rs; deleteform() super(刪除數(shù)據(jù)); setsize(400,300); pan1.add(labname); pan1.add(txtname); pan2.add(labdate); pan2.add(txtdate); pan3.add(labscore); pan3.add(txtscore); pan4.add(btnquery); pan4.add(btn
20、delete); pan4.add(btncancel); pan.setlayout(new gridlayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getcontentpane().add(pan,center); getcontentpane().add(pan4,south); btnquery.addactionlistener(this); btndelete.addactionlistener(this); btncancel.addactionlistener(this); btndelete.setenabl
21、ed(false);/取消刪除按鈕的功能 txtdate.seteditable(false); txtscore.seteditable(false); setvisible(true); txtname.requestfocus(); public void actionperformed(actionevent ae) if(ae.getsource()=btncancel) dispose(); else if(ae.getsource()=btnquery)/實(shí)現(xiàn)查詢(xún)功能 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(c
22、lassnotfoundexception e) trycon=drivermanager.getconnection(jdbc:odbc:sun,gxy,123); sql=con.createstatement(); rs=sql.executequery(select * from 成績(jī)表 where 姓名=+txtname.gettext()+); if(rs.next() txtname.settext(rs.getstring(姓名); txtscore.settext(new integer(rs.getint(成績(jī)).tostring(); txtdate.settext(rs
23、.getdate(出生日期).tostring(); btndelete.setenabled(true);/使刪除按鈕功能實(shí)現(xiàn) txtdate.seteditable(true); txtscore.seteditable(true); else system.out.println(不存在該記錄!); btndelete.setenabled(false); txtname.settext(); txtscore.settext(); txtdate.settext(); txtdate.seteditable(false); txtscore.seteditable(false); ca
24、tch(sqlexception e) else if(ae.getsource()=btndelete)/實(shí)現(xiàn)刪除功能 try system.out.println(update 成績(jī)表 set 出生日期=+txtdate.gettext()+,成績(jī)=+txtscore.gettext()+ where 姓名=+txtname.gettext()+); sql.executeupdate(delete from 成績(jī)表 where 姓名=+txtname.gettext()+); system.out.println(記錄刪除完畢!); btndelete.setenabled(false)
25、; txtname.settext(); txtscore.settext(); txtdate.settext(); txtdate.seteditable(false); txtscore.seteditable(false); con.close(); catch(sqlexception e) public static void main(string args) new deleteform(); 3.3.2 運(yùn)行效果:3.4.1 添加數(shù)據(jù):/*添加數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;
26、import java.sql.*;public class addform extends jframe implements actionlistenerjlabel labname=new jlabel(姓名:); jlabel labdate=new jlabel(出生日期:); jlabel labscore=new jlabel(成績(jī):); jtextfield txtname=new jtextfield(20); jtextfield txtdate=new jtextfield(18); jtextfield txtscore=new jtextfield(20); jbut
27、ton btnadd=new jbutton(添加); jbutton btncancel=new jbutton(取消); jpanel pan=new jpanel(); jpanel pan1=new jpanel(); jpanel pan2=new jpanel(); jpanel pan3=new jpanel(); jpanel pan4=new jpanel(); connection con; statement sql; resultset rs; addform() super(添加數(shù)據(jù)); setsize(400,300); pan1.add(labname); pan
28、1.add(txtname); pan2.add(labdate); pan2.add(txtdate); pan3.add(labscore); pan3.add(txtscore); pan4.add(btnadd); pan4.add(btncancel); pan.setlayout(new gridlayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getcontentpane().add(pan,center); getcontentpane().add(pan4,south); btnadd.addactionlis
29、tener(this); btncancel.addactionlistener(this); btnadd.setenabled(true); txtdate.seteditable(true); txtscore.seteditable(true); setvisible(true); txtname.requestfocus(); public void actionperformed(actionevent ae) string recode,insert1,出生日期,姓名; int 成績(jī); if(ae.getsource()=btncancel) this.dispose(); el
30、se if(ae.getsource()=btnadd) try class.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e) trycon=drivermanager.getconnection(jdbc:odbc:sun,gxy,123); sql=con.createstatement(); 姓名=txtname.gettext(); 出生日期=txtdate.gettext(); 成績(jī)=integer.parseint(txtscore.gettext(); recode=(+姓名+,+出生日期
31、+,+成績(jī)+); insert1=insert into 成績(jī)表 values +recode; sql.executeupdate(insert1); system.out.println(記錄添加完畢!); btnadd.setenabled(false); txtname.settext(); txtscore.settext(); txtdate.settext(); con.close(); catch(sqlexception e) public static void main(string args) new addform(); 3.4.2 運(yùn)行效果:3.5.1 按姓名查詢(xún)數(shù)
32、據(jù):/*按姓名查詢(xún)數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class namequeryform extends jframe implements actionlistener jlabel labname=new jlabel(姓名:); jlabel labdate=new jlabel(出生日期:); jlabel labscore=new jlabel(成績(jī):); jtextfield txtname=new jtextfield(20);
33、jtextfield txtdate=new jtextfield(18); jtextfield txtscore=new jtextfield(20); jbutton btncancel=new jbutton(取消); jbutton btnquery=new jbutton(查詢(xún)); jpanel pan=new jpanel(); jpanel pan1=new jpanel(); jpanel pan2=new jpanel(); jpanel pan3=new jpanel(); jpanel pan4=new jpanel(); connection con; stateme
34、nt sql; resultset rs; namequeryform() super(按姓名查詢(xún)); setsize(400,300); pan1.add(labname); pan1.add(txtname); pan2.add(labdate); pan2.add(txtdate); pan3.add(labscore); pan3.add(txtscore); pan4.add(btnquery); pan4.add(btncancel); pan.setlayout(new gridlayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(
35、pan3); getcontentpane().add(pan,center); getcontentpane().add(pan4,south); btnquery.addactionlistener(this); btncancel.addactionlistener(this); txtdate.seteditable(false); txtscore.seteditable(false); setvisible(true); txtname.requestfocus(); public void actionperformed(actionevent ae) if(ae.getsour
36、ce()=btncancel) dispose(); else if(ae.getsource()=btnquery) try class.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e) trycon=drivermanager.getconnection(jdbc:odbc:sun,gxy,123); sql=con.createstatement(); rs=sql.executequery(select * from 成績(jī)表 where 姓名=+txtname.gettext()+); if(r
37、s.next() txtname.settext(rs.getstring(姓名); txtscore.settext(new integer(rs.getint(成績(jī)).tostring(); txtdate.settext(rs.getdate(出生日期).tostring(); else system.out.println(不存在該記錄! ); txtname.settext(); txtscore.settext(); txtdate.settext(); txtname.requestfocus(); catch(sqlexception e) public static void
38、 main(string args) new namequeryform(); 3.5.2 運(yùn)行效果:3.6.1 按成績(jī)查詢(xún)數(shù)據(jù):/*按成績(jī)查詢(xún)數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.table.defaulttablemodel;import javax.swing.table.jtableheader;public class scorequeryform extends jframe implements actionli
39、stener jlabel labscore=new jlabel(請(qǐng)輸入成績(jī):); jtextfield txtscore=new jtextfield(10); jbutton btnquery=new jbutton(查詢(xún)); jpanel pan1=new jpanel(); jpanel pan2=new jpanel(); string str=姓名,出生日期,成績(jī); object data=new object103; jtable table=new jtable(data,str); jtableheader head=table.gettableheader(); jscr
40、ollpane jsp=new jscrollpane(table);/滾動(dòng) connection con; statement sql; resultset rs; scorequeryform() super(按成績(jī)查詢(xún)); setsize(400,300); pan1.add(labscore); pan1.add(txtscore); pan1.add(btnquery);/以上3條在第一個(gè)面板加入內(nèi)容 getcontentpane().add(pan1,north);/把面板1放到窗口頂部 pan2.setlayout(new borderlayout(); pan2.add(head,north);/將表頭放在面板2的頂部 pan2.add(jsp,center);/表格放在pan2中間 getcontentpane().add(pan2,center);/把面板2整體加入到主窗口中 btnquery.addact
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030積木產(chǎn)業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025-2030破壁機(jī)行業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資研究報(bào)告
- 2025-2030電視劇產(chǎn)業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025-2030電影鏡頭行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030玉器行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資研究報(bào)告
- 高層建筑水電施工合同范本
- 2025-2030無(wú)葉風(fēng)扇產(chǎn)業(yè)發(fā)展分析及發(fā)展趨勢(shì)與投資前景預(yù)測(cè)報(bào)告
- 2025-2030感冒藥行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030年雞養(yǎng)殖行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025年水簾式噴臺(tái)項(xiàng)目可行性研究報(bào)告
- 山東省煙臺(tái)市牟平區(qū)(五四制)2023-2024學(xué)年九年級(jí)下學(xué)期期中考試數(shù)學(xué)試題
- 2024年咸陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 2020年10月自考00445中外教育管理史試題及答案含解析
- 《重選的基本原理》課件
- 云系統(tǒng)安全運(yùn)維
- 【基于SERVQUAL模型的京東生鮮電商物流服務(wù)質(zhì)量評(píng)價(jià)的實(shí)例探析8100字(論文)】
- 實(shí)驗(yàn)二-導(dǎo)彈自尋的制導(dǎo)律設(shè)計(jì)與仿真
- 關(guān)于校本課程及校本教材開(kāi)發(fā)與認(rèn)定的管理辦法
- 五年級(jí)數(shù)學(xué)競(jìng)賽試題原創(chuàng)
- 教師聽(tīng)課評(píng)價(jià)記錄表
- 十字頭夾具設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論