JAVA數(shù)據(jù)庫(kù)學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第4頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)訓(xùn)報(bào)告實(shí)訓(xùn)名稱:學(xué)生成績(jī)管理系統(tǒng)系(部):專業(yè)班級(jí):學(xué)生姓名:學(xué) 號(hào):指導(dǎo)教師:完成日期:南京鐵道職業(yè)技術(shù)學(xué)院目錄目錄31實(shí)訓(xùn)概述32Java訪問(wèn)并處理數(shù)據(jù)庫(kù)的課題描述 32.1 課題簡(jiǎn)介32.2 模塊簡(jiǎn)介32.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)42.4系統(tǒng)功能層次圖 63系統(tǒng)模塊的詳細(xì)設(shè)計(jì)63.1登錄模塊設(shè)計(jì)63.2管理員模塊設(shè)計(jì)63.3學(xué)生模塊設(shè)計(jì)84 程序運(yùn)行與測(cè)試 95 實(shí)訓(xùn)總結(jié)30訂線Java訪問(wèn)并處理數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)1實(shí)訓(xùn)概述南京鐵道職業(yè)技術(shù)學(xué)院浦口校區(qū)2013級(jí)網(wǎng)絡(luò)L1301班于大二上學(xué)期組織了 為期一周的Java實(shí)訓(xùn),本次實(shí)訓(xùn)的課題是“學(xué)生成績(jī)管理系統(tǒng)”。通過(guò)綜合實(shí)訓(xùn),掌握運(yùn)用Java語(yǔ)言

2、基本知識(shí)和技能、JAVA的基本語(yǔ)法與JDBC數(shù)據(jù)庫(kù)技 術(shù)的應(yīng)用;進(jìn)一步熟悉Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理(數(shù)據(jù)庫(kù)的創(chuàng)建、應(yīng)用)。 表的創(chuàng)建、修改、刪除,約束及關(guān)系等、數(shù)據(jù)的查詢處理(insert、update delete select語(yǔ)句等技術(shù)。2 Java訪問(wèn)并處理數(shù)據(jù)庫(kù)的課題描述2.1 課題簡(jiǎn)介經(jīng)過(guò)分析,我們使用Java開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具, Java技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人 PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有 全球最大的開發(fā)者專業(yè)社群。使用的數(shù)據(jù)庫(kù)是Oracle, Oracle數(shù)據(jù)庫(kù)功能

3、強(qiáng)大,學(xué)習(xí)起來(lái)也不難,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代 ,不斷修正和改進(jìn),直到形 成用戶滿意的可行系統(tǒng)。通過(guò)實(shí)訓(xùn),我們掌握運(yùn)用Java語(yǔ)言知識(shí)和技能,運(yùn)用JAVA的基本語(yǔ)法與 JDBC數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用,完成對(duì)甲骨文數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理、例如表的設(shè)計(jì)(表的創(chuàng)建、修改、刪除,字段的默認(rèn)值、約束及關(guān)系等)、數(shù)據(jù)的查詢處理(insert、update delete select語(yǔ)句的應(yīng)用)等技術(shù);并能結(jié)合數(shù)據(jù)庫(kù)應(yīng)用技 術(shù)和jdbc進(jìn)行小型數(shù)據(jù)庫(kù)管理系統(tǒng)的開發(fā)。2.2 模塊簡(jiǎn)介管理員模塊功能需求:管理員身份登陸系統(tǒng)后,可以對(duì)學(xué)生信息進(jìn)行添加、修改和查詢等操作,對(duì)學(xué)生進(jìn)行添加、修改和查詢功能操作,還可以修改

4、管理員的登錄密碼。學(xué)生模塊功能需求:學(xué)生信息管理系統(tǒng)中需要在學(xué)生登錄或驗(yàn)證身份后,可以自行完成學(xué)生個(gè) 人信息的查詢,也可以進(jìn)行修改和刪除個(gè)人信息、修改學(xué)生密碼等操作。2.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)表設(shè)計(jì)定義每個(gè)表的數(shù)據(jù)類型以及字段限制,使數(shù)據(jù)庫(kù)達(dá)到一定的完整性.每個(gè)表的 物理設(shè)計(jì)如下:1.表admin保存用戶的個(gè)人信息用戶信息表主要是用來(lái)保存管理員用戶的基本信息,包括管理員的ID和管 理員的登錄密碼,只有符合這兩個(gè)字段的格式要求,才能登錄成功,結(jié)構(gòu)表如下:表4-2管理員信息表字段名類型空值約束條件管理員IDnumber(10)not n ull主鍵登錄密碼varchar2(10)not n ull2

5、.表student保存學(xué)生基本信息,結(jié)構(gòu)表如下:表4-5學(xué)生信息表字段名類型空值約束條件學(xué)號(hào)number(10)not n ull主鍵姓名varchar2(20)not n ull性別varchar2(3)年齡nu mber(2)登錄密碼varchar2(10)not n ull邏輯結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)的任務(wù)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本 E-R圖轉(zhuǎn)化為宜選用的DBMS所支持的數(shù)據(jù)模型 相符合的邏輯結(jié)構(gòu),并對(duì)其進(jìn)行優(yōu)化。流程圖層次設(shè)計(jì)圖的格式如下所示:添加按鈕查找按鈕刪除按鈕返回結(jié)束圖1管理員對(duì)學(xué)生信息管理系統(tǒng)局部E-R圖數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工具,它表示

6、了系統(tǒng)內(nèi)部信息的流向,并表現(xiàn)系統(tǒng)的邏輯處理功能2.4系統(tǒng)功能層次圖學(xué)生信息管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫(kù)開發(fā)應(yīng)用程序,系統(tǒng)是和數(shù)據(jù)庫(kù)相 結(jié)合.,進(jìn)入系統(tǒng),有兩個(gè)用戶,分別是普通學(xué)生、和管理員。學(xué)生信息管理系統(tǒng)修1查增查改詢加找密信學(xué)學(xué)碼息生生刪 除 學(xué) 生圖2學(xué)生信息管理系統(tǒng)功能層次圖修 改 學(xué) 生登陸管理學(xué)管生理登員錄登錄3系統(tǒng)模塊的詳細(xì)設(shè)計(jì)本學(xué)生信息管理系統(tǒng)主要模塊,即用戶登錄模塊、用戶操作模塊。用戶操作 模塊又分為學(xué)生操作模塊、管理員操作模塊。下面將顯示系統(tǒng)的主要功能模塊。3.1登錄模塊設(shè)計(jì)學(xué)生信息管理系統(tǒng)前臺(tái)登陸模塊可以勾選管理員身份信息,代表以管理員 身份進(jìn)入。不勾選即為普通學(xué)生身份登錄

7、。3.2管理員模塊設(shè)計(jì)學(xué)生信息管理系統(tǒng)前臺(tái)登陸模塊只有一個(gè)登陸窗口分為學(xué)生、管理員兩個(gè)級(jí)別登陸,系統(tǒng)在后臺(tái)程序有自動(dòng)限制設(shè)置,可以自動(dòng)識(shí)別登陸者的限制。其系統(tǒng)登陸模塊算法如下:1判斷是否勾選管理員身份;2輸入用戶名和密碼;3判斷用戶名和密碼是否匹配;(1)若提示輸入信息錯(cuò)誤,則重新輸入;(2)否則以管理員身份進(jìn)入系統(tǒng)。添加學(xué)生信息功能學(xué)生信息管理系統(tǒng)對(duì)學(xué)生信息的管理非常重要,其中對(duì)信息的錄入是系統(tǒng)最 為關(guān)鍵的地方,以往我們管理學(xué)生信息的時(shí)候都是手工操作,而隨社會(huì)不斷發(fā)展的 今天計(jì)算機(jī)的應(yīng)用已全部取帶了手工操作的方法,利用計(jì)算機(jī)可以方便的錄入各 類信息,進(jìn)行高效的管理學(xué)生信息的錄入就是利用計(jì)算機(jī)

8、通過(guò)程序讀入數(shù)據(jù)庫(kù), 錄入學(xué)生信息模塊算法描述如下:1. 管理員登陸后,錄入學(xué)生信息管理界面;2單擊增加學(xué)生按鈕,鍵入學(xué)生ID ;3當(dāng)錄入學(xué)號(hào)已經(jīng)存在,提示該學(xué)生信息已存在,請(qǐng)重新輸入;4.否則學(xué)生信息添加成功。查找學(xué)生信息功能學(xué)生信息管理系統(tǒng)對(duì)查詢學(xué)生信息管理也很重要,方法和增添學(xué)生信息類似, 也同樣是利用計(jì)算機(jī)通過(guò)程序讀入數(shù)據(jù)庫(kù),查詢學(xué)生信息模塊算法描述如下:1. 管理員登陸后,點(diǎn)擊查詢學(xué)生;2. 當(dāng)錄入學(xué)生信息不存在時(shí),提示沒(méi)有該學(xué)生信息,重新輸入;3. 當(dāng)錄入學(xué)生ID已經(jīng)存在,提示該學(xué)生信息存在,顯示學(xué)生信息;刪除學(xué)生信息功能學(xué)生選課模塊主要是給刪除學(xué)生信息的功能,本功能主要由管理員進(jìn)

9、入數(shù)據(jù) 庫(kù),然后學(xué)生管理系統(tǒng),其刪除學(xué)生信息模塊算法描述如下:1 管理員成功登陸;2 點(diǎn)擊刪除學(xué)生;3 輸入學(xué)生相關(guān)信息,如學(xué)生ID ;4. 如該學(xué)生不存在,則提示信息不存在,否則刪除該學(xué)生。修改學(xué)生信息功能此信息修改模塊主要是給學(xué)生和管理員建立信息庫(kù),方便管理員查詢操作,信 息修改模塊算法描述如下:1 管理員成功登陸;2 點(diǎn)擊修改學(xué)生信息;3 輸入學(xué)生的編號(hào);4 編號(hào)為空,重新輸入;5 .輸入不為數(shù)字,重新輸入;6.輸入正確,進(jìn)入修改頁(yè)面進(jìn)行相關(guān)修改。3.3學(xué)生模塊設(shè)計(jì)查看學(xué)生個(gè)人信息功能學(xué)生信息管理系統(tǒng)方便了學(xué)生查看自己的學(xué)籍信息,如果學(xué)校由于疏忽輸入 了錯(cuò)誤信息,自己可以查看并且及時(shí)通知

10、學(xué)校管理員,及時(shí)修改,減少不必要的麻 煩此信息查詢模塊主要是方便學(xué)生查詢操作,信息查詢模塊算法描述如下:1學(xué)生成功登陸;2. 點(diǎn)擊查詢學(xué)生信息;3. 輸入學(xué)生的編號(hào);4 .編號(hào)為空,重新輸入;5 .輸入不為數(shù)字,重新輸入;6.輸入正確,進(jìn)入信息查詢頁(yè)面進(jìn)行相關(guān)修改。修改學(xué)生登錄密碼功能學(xué)生可以進(jìn)入學(xué)生管理系統(tǒng)進(jìn)行登錄密碼的修改1. 學(xué)生成功登陸;2. 單擊修改密碼;3. 輸入舊密碼、新密碼確認(rèn)后,若舊密碼正確則修改成功,貝U提示重新輸 入舊密碼;4. 提交修改完成修改。課程實(shí)訓(xùn)報(bào)告書4程序運(yùn)行與測(cè)試packagecom.briup.view;import java.awt.*;import j

11、ava.awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import javax.swi ng.*;import com.briup.bea n. Adm in;import com.briup.bean.Student;import com.briup.dao.AdminDao;/登錄窗口import com.briup.dao.StudentDao;public classLoginFrame extendsJFrameprivate JCheckBoxc;private JButton loginBtn,resetBt

12、n;private JTextField name In put;private JPasswordFielcpwdl nput;private Adm in Dao adm in Dao=n ewAdm in Dao();private Stude ntDaostude ntDao=n ewStude ntDao();public LoginFrame()/初始化窗口本身Dime nsio n d=Toolkit.getDefaultToolkit().getScree nSize();int width=d.width;int height=d.height;設(shè)置坐標(biāo)為400-400寬為3

13、00高為200setBou nds(width/2-200, height/2-100,400,200);setTitle(登錄界面);/設(shè)置窗口為不可縮放setResizable(false);setDefaultCloseOperatio n(JFrame.EXIT_ON_CLOSE);ini t();event();private void event() /為按鈕添加事件處理resetBt n.addMouseListe ner(n evMouseAdapter()/監(jiān)聽鼠標(biāo)單擊事件Overridepublic void mouseClicked(MouseEvente)System.

14、exit(O); );log in Bt n.addMouseListe ner(n ewMouseAdapter() Overridepublic void mouseClicked(MouseEvente)/獲取用戶輸入的值String username=namelnput.getText().trim();String password=pwdInput.getText().trim();判斷是否勾選了管理員多選框if(c.isSelected()從管理員表中檢測(cè)數(shù)據(jù)Admin a=adminDao.findAdminByName(username);如果a不為null說(shuō)明用戶輸入的管理

15、員是存在的if(a=nu ll)/說(shuō)明此管理員不存在JOptio nPan e.showMessageDialog( null用戶名或密碼不 正確,提示信息,JOptionPane.WARNING_MESSAGE);else管理員存在密碼正確密碼不正確if(a.getPassword().equals(password)后臺(tái)保存的密碼和用戶從客戶端輸入的密碼是一樣的JOptionPane.showMessageDialog(null登錄成功,提示信息,JOptio nPan e.WARNING_MESSAGE);/關(guān)閉當(dāng)前的登錄窗口Log inF rame.this.dispose();/開啟

16、管理員界面new AdminF rame(a.getUser name().go();elseJOptio nPa ne.showMessageDialog( null用戶名或密 碼不正確,提示信息,JOptionPane.WARNING_MESSAGE); else從普通用戶表中檢測(cè)數(shù)據(jù)Stude nts=stude ntDao.fi ndStude ntByStude ntld(user name); if(s=null)JOptio nPan e.showMessageDialog( null用戶名或密碼不 正確,提示信息,JOptionPane.WARNING_MESSAGE);els

17、eif(s.getPassword().equals(password)JOptionPane.showMessageDialog(null登錄成功, 提示信息,JOptionPane.WARNING_MESSAGE);Log inF rame.this.dispose();new Stude ntFrame(s, nu ll).go();elseJOptio nPa ne.showMessageDialog( null用戶名或密 碼不正確,提示信息,JOptionPane.WARNING_MESSAGE); );public void init()/初始化窗口內(nèi)部的組件Contain erc

18、 ontain er=getC onten tPa ne();組件放到哪個(gè)位置由用戶自己來(lái)制定contain er.setLayout (n ull);JLabeltitle=newJLabel(用戶登錄”); title.setFo nt(newFon t(楷體,0,32); title.setBou nds(110,5,200,33); contain er.add(title);JLabel nameLabel=newJLabel(用戶名:);nameLabel.setBounds(7055, 60,30);contain er.add( nameLabel);n ameI nput=n

19、 ewJTextField();n ame In put.setBou nds(130,60,150,20);/設(shè)置提示內(nèi)容nameInput.setToolTipText(此處寫登錄用戶名); contain er.add( name In put);JLabel pwdLabel=new JLabel(密 碼:); pwdLabel.setBounds(70,80, 60, 30);contain er.add(pwdLabel);pwd In put=new JPasswordField();pwdI nput.setBou nds(130,85,150,20);pwdI nput.se

20、tToolTipText(此處寫密碼);contain er.add(pwd In put);c=new JCheckBox(管理員);c.setBou nds(68,115,70,30);contain er.add(c);log in Bt n=new JButto n(登錄);loginBtn.setBounds(140,115,60, 30);contain er.add(logi nBtn);resetBt n=n ew JButto n(” 取消);resetBtn.setBounds(215115,60, 30);con tai ner.add(resetBt n);public

21、 void go()setVisible(true); public static void main( Stri ng args)new LoginFrame().go(); i - 1岳H-訐-朗 用戶登錄m小總:|勰碼* I11 1 45packagecom.briup.dao;import java.sql.C onn ecti on;import java.sql.PreparedStateme nt;import java.sql.ResultSet;import com.briup.bea n. Adm in;import com.briup.util.ConnectionFac

22、tory;/和管理員相關(guān)的數(shù)據(jù)庫(kù)操作public classAdm in Dao /根據(jù)用戶名查找指定管理員public Adm in fin dAdm in ByName(Stri ng user name)Adm in adm in=nu II;Conn ecti onconn=nu II;PreparedStateme npstat=n ull;ResultSetrs=null;try conn=Conn ectio nF actory.getC onn ectio n();String sql=selectusername,passwordrom admin whereusername

23、=?; pstat=c onn .prepareStateme nt(sql);pstat.setStri ng(1 user name);rs=pstat.executeQuery();如果查不到任何數(shù)據(jù)下方while內(nèi)部的代碼不會(huì)執(zhí)行while(rs. next()/如果能執(zhí)行到這個(gè)地方說(shuō)明指疋管理員是存在的adm in=new Admi n();admi n.setUsername(username);admi n.setPassword(rs.getStri ng(password); catch (Exception e) /TODO: handleexceptione.pri nt

24、StackTrace();fin allyConn ectio nF actory.close(rspstat, conn); return admin;public static void main(String args)Admin Dao().fi ndAdmi nByName(admi).getPassword();packagecom.briup.view;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.eve nt.MouseAdapter;import java.awt.eve nt.Mo

25、useEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio nPane;import javax.swi ng.JPan el;import javax.sw in g.JTextField;import com.briup.bean.Student;impor

26、t com.briup.dao.StudentDao;添加學(xué)生public classAddStudentFrameextendJFrameprivate AdminFrame admin;private JPa nelp1,p2,p3,p4,p5;private JLabelidLbl, nameLbl,ageLbl,ge nderLbl;private JTextFieldid In put, name In put,age In put,ge nderl nput;private JButton submitBt n,can celBt n;private Stude ntDaostud

27、e ntDao=n ewStude ntDao();public AddStude ntFrame(Admi nF rameadmi n)this.admi n=admi n;setTitle(添加學(xué)生);setResizable(false);setBounds(400,100, 300,400);in it();eve nt();private void init()Contain erc ontain er=getC onten tPa ne();contain er.setLayout (n ewGridLayout(5, 1);p1= new JPa nel();p1.setLayo

28、ut (n ull);idLbl=new JLabel(學(xué)籍號(hào):);idLbl.setBounds(50,30,50, 20);idInput=new JTextField();idInput.setBounds(100,30, 120, 20);p1.add(idLbl);p1.add(idl nput);contain er.add(p1);p2=n ewJPa nel();p2.setLayout (n ull);nameLbl=new JLabel(姓名:); nameLbl.setBounds(50,10, 50, 20); n amel nput=n ewJTextField();

29、namel nput.setBou nds(10010,120,20);p2.add( nameLbl);p2.add( name In put);contain er.add(p2);p3=n ewJPa nel();p3.setLayout (n ull); ageLbl=new JLabel(年齡:); ageLbl.setBounds(50,10, 50,20);age In put=n ewJTextField();age In put.setBou nds(10010,120,20);p3.add(ageLbl);p3.add(age In put);contain er.add(

30、p3);p4=n ewJPa nel();p4.setLayout (n ull);gen derLbl=newJLabel(性別:);genderLbl.setBounds(50,10, 50,20);gen derI nput=n ewJTextField();gen derI nput.setBou nds(10010,120,20);p4.add(ge nderLbl);p4.add(ge nderl nput);contain er.add(p4);p5=n ewJPa nel();p5.setLayout (n ull);submitBt n=new JButto n(確定);su

31、bmitBtn.setBounds(130,10, 60,20);can celBt n=n ewJButto n(取消);cancelBtn.setBounds(195,10, 60,20);p5.add(submitBt n);p5.add(ca ncelBt n);contain er.add(p5);private void event()/設(shè)置當(dāng)前窗口的關(guān)閉操作/此處可自定義窗口關(guān)閉時(shí)所作操作this.addWi ndowListe ner(n ewWi ndowAdapter() public void windowClosing(WindowEvent e)/將之前傳遞過(guò)來(lái)的那個(gè)

32、管理窗口設(shè)置為可用if(admi n!=n ull)admin.setEnabled(true); /釋放當(dāng)前窗口AddStudentFrame.this.dispose(););/取消按鈕的操作can celBt n.addMouseListe ner(n eWMouseAdapter() Overridepublic void mouseClicked(MouseEvente) if(admi n!=n ull)admi n.setE nabled(true);AddStudentFrame.this.dispose(););/確定按鈕的操作submitBt n. addMouseList

33、e ner(n ewMouseAdapter() public void mouseClicked(MouseEvente)/接受用戶在客戶端輸入的值/正則表達(dá)式String studentld=idInput.getText().trim();String studentName=nameInput.getText().trim();String age=ageInput.getText().trim();String gender=genderlnput.getText().trim();Stude nts=new Stude nt();/注意別輸入了已存在的學(xué)籍號(hào)s.setStude n

34、tid(Lon g.parseL on g(stude ntld);s.setStude ntName(stude ntName);s.setPassword(stude ntld);s.setAge(l nteger.parse In t(age);s.setGe nder(ge nder);/將獲得值封裝成Student對(duì)象調(diào)用指定方法存儲(chǔ)到數(shù)據(jù)庫(kù)boolea nresult=stude ntDao.addStude nt(s);if(result)JOptio nPan e.showMessageDialog( null添加成功!); if(admi n!=n ull)admi n.se

35、tE nabled(true);AddStude ntFrame.this.dispose();elseJOptionPane.showMessageDialog(null添加失敗,請(qǐng)檢查學(xué)籍 號(hào)是否已存在! ););public void go()setVisible(true);public static void main(String args)new AddStude ntFrame( nu ll).go();packagecom.briup.view;import java.awt.C ontainer;import java.awt.GridLayout;import java.

36、awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import java.util.List;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.JPan el;import javax.sw in g.JTextFiel

37、d;import com.briup.bean.Student;import com.briup.dao.StudentDaopublic classFindStudentFrameextendsJFrame private Stude ntDaostude ntDao=n ewStude ntDao(); private JLabelidLbl, nameLbl;private JTextFieldid In put ,n ame In put;private JButton findBtn,cancelBtn;public FindStudentFrame()setTitle(查找學(xué)生);

38、setBounds(405,100, 200,390);setResizable(false);in it();event();private void init()Contain erc ontain er=getC onten tPa ne();contain er.setLayout (n ewGridLayout(3, 1);JPa nelp1= newJPa nel();p1.setLayout (n ull);idLbl=new JLabel(學(xué)籍號(hào):);idLbl.setBounds(20,55,50, 20);idInput=new JTextField();idI nput.

39、setBou nds(73,55,100,20);p1.add(idLbl);p1.add(idl nput);contain er.add(p1);JPa nelp2=n ewJPa nel();p2.setLayout (n ull);nameLbl=new JLabel(姓名:);nameLbl.setBounds(20,55, 50, 20);n ameI nput=n ewJTextField();n ameI nput.setBou nds(7355,100,20);p2.add( nameLbl);p2.add( name In put);contain er.add(p2);J

40、Pa nelp3=newJPa nel();p3.setLayout (n ull);findBtn=new JButton(搜索);fin dBt n.setBou nds(60,30,60,20);can celBt n=n ewJButto n(取消);can celBt n. setBou nds(123,30,60,20);p3.add(fi ndBt n);p3.add(ca ncelBt n);contain er.add(p3); private void event()this.addWi ndowListe ner(n ewWi ndowAdapter() public v

41、oid windowClosing(WindowEvent e)Fin dStude ntFrame.this.dispose(););fin dBt n. addMouseListe ner(n ewMouseAdapter() public void mouseClicked(MouseEvente)String idStr=idlnput.getText().trim();String nameStr =nameInput.getText().trim();Long studentld=null;String studentName=nuII;if(idStr.length()!=0)

42、如果 id 有值stude ntld=L on g.parseL on g(idStr);if(n ameStr.le ngth()!=0)studentName=nameStr; Liststude nts=stude ntDao.fi ndStude ntByCo nditi on s(stude ntIdstude ntName);/將查詢的結(jié)果傳遞給顯示界面new ShowResultFrame(students).go() ); public void go()setVisible(true); public static void main( Stri ng args)new Fi

43、ndStudentFrame().go();/System.out.println(” .trim().length();正則表達(dá)式s/System.out.pri ntln( );/System.out.println(1 2 .replaceAII(s, ).length(); packagecom.briup.view;i -i 代 1 半EKW:卜Ji空刖arnaiT廠bbl 口 mn 二*1ultsftimport java.awt.Color;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.

44、eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import java.util.List;import javax.sw in g.BorderFactory;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio

45、 nPane;import com.briup.bean.Student;import com.briup.dao.StudentDao;public classShowResultFrameextendsJFrameprivate List students;private Stude ntDaostude ntDao=n ewStude ntDao();public ShowResultFrame(Liststude nts)setTitle(查詢結(jié)果);if (students.size() 0) setBounds(100,100,300, 60* students.size(); e

46、lsesetBou nds(100,100,300,150);this.stude nts= stude nts;in it();private void init() Contain erc ontain er= getC onten tPa ne();con tai ner.setLayout( newGridLayout(stude nts.size(),2);/遍歷集合 將集合中的每一條數(shù)據(jù)顯示到當(dāng)前容器里面if (students.size()= 0) con ta in er.add( newJLabel(暫無(wú)記錄!); elsefor (Studentstu: students)

47、JLabel l = n ew JLabel(stu.getStude ntName();final Students = stu;l.addMouseListe ner(n ewMouseAdapter()public void mouseClicked(MouseEvente) if(e.getClickCou nt()=2)new Stude ntFrame(snull).go(); );LsetBorder(BorderFactory.createLineBorder(neWColor(253, 253,187); JButton b = new JButton(”刪除);final

48、Long studentld= stu.getStudentid();b.addMouseListe ner(n ewMouseAdapter() public void mouseClicked(MouseEvente) int choose=JOptionPane.showConfirmDialog(null確定刪除?);判斷用戶點(diǎn)擊的是否是確定按鈕if(choose=JOptio nPa ne.OK_OPTION)ShowResultFrame.this.dispose();stude nts.remove(s);new ShowResultFrame(stude nts).go();

49、stude ntDao.deleteStude ntByld(stude ntId); );contain er.add(l)c ontain er.add(b)private void event() this.addWi ndowListe ner(n ewWi ndowAdapter() public void windowClosing(WindowEvent e)ShowResultFrame.this.dispose();); public void go() setVisible(true); public static void main(String args)package

50、com.briup.view;import java.awt.Color;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio nPane;import javax.swi n

51、g.JPan el;import javax.swi ng.J PasswordField;import javax.sw in g.JTextField;import com.briup.bean.Student;import com.briup.dao.StudentDao;public classStudentFrameextendsJFrameprivate JPa nelp1,p2,p3,p4,p5,p6;private JLabelidLbl,pwdLbl, nameLbl,ageLbl,ge nderLbl;private JTextFieldid In put, name In

52、 put,age In put,ge nderl nput;private JPasswordFielcpwdl nput;private Stude ntstude nt;private JButt on modifyPwdBt n,submitBt n,exitBt n;private String nPassword;private Stude ntDaodao=n ewStude ntDao();/stude nt記錄當(dāng)前登錄的用戶n Password記錄修改以后的密碼public Stude ntFrame(Stude ns,Stri ng n Password)this.stude

53、 nt=s;this .n Password=nPassword;/初始化的時(shí)候獲取當(dāng)前用戶的密碼setTitle(學(xué)生信息);setResizable(false);setBounds(400,100, 300,400);/默認(rèn)關(guān)閉行為setDefaultCloseOperatio n(JFrame.EXIT_ON_CLOSE);in it();event();public void go()setVisible(true);private void init()Contain ere ontain er=getC onten tPa ne();contain er.setLayout (n ewGridLayout(6, 1);p1= newJPa nel();pl.setLayout (n ull);idLbl=new JLabel(學(xué)籍號(hào):);idLbl.setBounds(50,30,50, 20);idlnput=new JTextField();/需要將數(shù)字類型轉(zhuǎn)換為字符串類型+/字符串類型-數(shù)字類型parseintparseLongidl nput.setText(stude nt.getStude ntid()+);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論