JAVA數(shù)據(jù)庫學(xué)生成績管理系統(tǒng)實驗報告_第1頁
JAVA數(shù)據(jù)庫學(xué)生成績管理系統(tǒng)實驗報告_第2頁
JAVA數(shù)據(jù)庫學(xué)生成績管理系統(tǒng)實驗報告_第3頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、查詢模塊算法描述如下:1學(xué)生成功登陸;2. 點擊查詢學(xué)生信息;3. 輸入學(xué)生的編號;4 .編號為空,重新輸入;5. 輸入不為數(shù)字,重新輸入;6. 輸入正確,進入信息查詢頁面進行相關(guān)修改。修改學(xué)生登錄密碼功能學(xué)生可以進入學(xué)生管理系統(tǒng)進行登錄密碼的修改1. 學(xué)生成功登陸;2. 單擊修改密碼;3. 輸入舊密碼、新密碼確認后,若舊密碼正確則修改成功,貝U提示重新輸 入舊密碼;4. 提交修改完成修改。課程實訓(xùn)報告書4程序運行與測試package com.briup.view;import java.awt.*;import java.awt.eve nt.MouseAdapter;import java

11、.awt.eve nt.MouseEve nt;import javax.swi ng.*;import com.briup.bea n. Adm in;import com.briup.bea n. Stude nt;import com.briup.dao.Admi nDao;/登錄窗口import com.briup.dao.Stude ntDao;public class Log inF rame exte nds JFrameprivate JCheckBox c;private JButton loginBtn,resetBtn;private JTextField n ame I

12、n put;private JPasswordField pwd In put;private Adm in Dao adm in Dao=new Adm in Dao();private Stude ntDao stude ntDao=new Stude ntDao();public Logi nF rame()/初始化窗口本身Dimension d=Toolkit.getDefaultToolkit().getScreenSize();int width=d.width;int height=d.height;設(shè)置坐標為400-400寬為300高為200setBou nds(width/2

13、-200, height/2-100, 400, 200); setTitle("登錄界面");/設(shè)置窗口為不可縮放setResizable(false);setDefaultCloseOperatio n(JFrame.EXIT_ON_CLOSE);ini t();eve nt(); private void eve nt() /為按鈕添加事件處理resetBtn.addMouseListener(new MouseAdapter() /監(jiān)聽鼠標單擊事件Overridepublic void mouseClicked(MouseEve nt e) System.exit(

14、O); );log inBtn .addMouseListe ner(new MouseAdapter() Overridepublic void mouseClicked(MouseEve nt e) /獲取用戶輸入的值Stri ng username=n amel nput.getText().trim();String password=pwd In put.getText().trim();判斷是否勾選了管理員多選框if(c.isSelected()從管理員表中檢測數(shù)據(jù)Admin a=admi nDao.fi ndAdmi nByName(username);如果a不為null說明用戶

15、輸入的管理員是存在的if(a=nu ll)/說明此管理員不存在JOptio nPan e.showMessageDialog( nu II,用戶名或密碼不 正確","提示信息",JOptio nPa ne.WARNING_MESSAGE);else管理員存在密碼正確密碼不正確if(a.getPassword().equals(password)后臺保存的密碼和用戶從客戶端輸入的密碼是一樣的JOptionPane.showMessageDialog(null,登錄成功","提示信息",JOptio nPan e.WARNING_MESS

16、AGE);/關(guān)閉當前的登錄窗口Log inF rame.this.dispose();/開啟管理員界面new Adm inF rame(a.getUser name().go();elseJOptio nPa ne.showMessageDialog( null,用戶名或密 碼不正確","提示信息",JOptionPane.WARNING_MESSAGE); else從普通用戶表中檢測數(shù)據(jù)Stude nt s=stude ntDao.fi ndStude ntByStude ntld(user name); if(s=null)JOptio nPan e.show

17、MessageDialog( nu II,用戶名或密碼不 正確","提示信息",JOptio nPa ne.WARNING_MESSAGE);elseif(s.getPassword().equals(password)JOptionPane.showMessageDialog(null,登錄成功"," 提示信息",JOptio nPan e.WARNING_MESSAGE);Log inF rame.this.dispose();new Stude ntFrame(s, null).go();elseJOptio nPa ne.sh

18、owMessageDialog( null,用戶名或密 碼不正確","提示信息",JOptionPane.WARNING_MESSAGE); );public void in it()/初始化窗口內(nèi)部的組件Container contain er=getC onten tPa ne();組件放到哪個位置由用戶自己來制定contain er.setLayout (n ull);JLabel title=new JLabel(""用 戶 登 錄”); title.setFo nt(new Fo nt(""楷體",0,3

19、2); title.setBou nds(110,5,200,33);contain er.add(title);JLabel nameLabel=new JLabel(用戶名:"); nameLabel.setBounds(70, 55, 60, 30);contain er.add( nameLabel);n ame In put=new JTextField();n ame In put.setBou nds(130,60,150,20);/設(shè)置提示內(nèi)容nameInput.setToolTipText("此處寫登錄用戶名"); contain er.add(

20、 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);pwdInput.setToolTipText(”此處寫密碼");contain er.add(pwd In put);c=new JCheckBox("管理員");c.setBounds(68,

21、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=new JButt on("取消");resetBt n. setBou nds(215, 115, 60, 30);con tai ner.add(resetBt n);public void go()setVisible(true); public static void main(

22、Stri ng args) new LoginFrame().go(); package com.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.C onn ectio nF actory;/和管理員相關(guān)的數(shù)據(jù)庫操作public class Adm in Dao /根據(jù)用戶名查找指定管理員public Adm in fin dAdm in

23、 ByName(Stri ng user name)Adm in adm in=n ull;Conn ecti on conn=n ull;PreparedStateme nt pstat=n ull;ResultSet rs=null;try conn=Conn ectio nF actory.getC onn ectio n();Stri ng sql="select username,password from admin where usern ame=?" pstat=c onn .prepareStateme nt(sql);pstat.setStri ng(1

24、, user name);rs=pstat.executeQuery();如果查不到任何數(shù)據(jù)下方while內(nèi)部的代碼不會執(zhí)行while(rs. next()/如果能執(zhí)行到這個地方說明指定管理員是存在的adm in=new Admi n();admi n.setUsername(username);admi n.setPassword(rs.getStri ng("password"); catch (Excepti on e) / TODO: han dle exceptione.pri ntStackTrace();fin allyConnectionF actory.c

25、lose(rs, pstat, conn); return admi n;public static void main( Stri ng args) Admi nDao().fi ndAdmi nByName("admi").getPassword();package com.briup.view;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import java.aw

26、t.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import javax.swi ng.JButton;import javax.sw in g.JFrame;import javax.swi ng.JLabel;import javax.swi ng.JOptio nPane;import javax.swi ng.JPa nel;import javax.sw in g.JTextField;import com.briup.bea n. Stude nt;import com.briup.dao.Stude ntD

27、ao;/添 加學(xué)生public class AddStude ntFrame exte nds JFrameprivate Adm inF rame admi n;private JPa nel p1,p2,p3,p4,p5;private JLabel idLbl, nameLbl,ageLbl,ge nderLbl;private JTextField idln put, name In put,age In put,ge nderl nput;private JButton submitBtn,cancelBtn;private Stude ntDao stude ntDao=new S

28、tude ntDao();public AddStude ntFrame(Adm inF rame admi n)this.admi n=admi n;setTitle("添加學(xué)生");setResizable(false);setBou nds(400, 100, 300, 400);in it();eve nt();private void in it()Container contain er=getC onten tPa ne();contain er.setLayout (new GridLayout(5, 1);p1= new JPa nel();p1.setL

29、ayout (n ull);idLbl=new JLabel("學(xué)籍號:");idLbl.setBou nds(50, 30, 50, 20);idI nput=new JTextField();idlnput.setBounds(100, 30, 120, 20);p1.add(idLbl);p1.add(idl nput);contain er.add(p1);p2=new JPa nel();p2.setLayout (n ull);nameLbl=new JLabel("姓名:"); nameLbl.setBou nds(50, 10, 50,

30、20);n ame In put=new JTextField();namelnput.setBounds(100, 10, 120, 20);p2.add( nameLbl);p2.add( name In put);contain er.add(p2);p3=new JPa nel();p3.setLayout (n ull);ageLbl=new JLabel("年齡:");ageLbl.setBounds(50, 10, 50, 20);age In put=new JTextField();age In put.setBou nds(100, 10, 120, 2

31、0);p3.add(ageLbl);p3.add(age In put);contain er.add(p3);p4=new JPa nel();p4.setLayout (n ull);genderLbl=new JLabel("性別:");genderLbl.setBounds(50, 10, 50, 20);gen derI nput=new JTextField();gen derI nput.setBou nds(100, 10, 120, 20);p4.add(ge nderLbl);p4.add(ge nderl nput);contain er.add(p4

32、);p5=new JPa nel();p5.setLayout (n ull);submitBt n=new JButto n("確定");submitBtn.setBounds(130, 10, 60, 20);can celBt n=new JButton("取消");can celBt n. setBou nds(195, 10, 60, 20);p5.add(submitBt n);p5.add(ca ncelBt n);contain er.add(p5);private void eve nt()/設(shè)置當前窗口的關(guān)閉操作/此處可自定義窗口關(guān)閉

33、時所作操作this.addWi ndowListe ner(new Win dowAdapter() public void win dowClos in g(Wi ndowEve nt e) /將之前傳遞過來的那個管理窗口設(shè)置為可用if(admi n!=n ull)admin.setEnabled(true); /釋放當前窗口AddStude ntFrame.this.dispose(); );/取消按鈕的操作can celBt n.addMouseListe ner(new MouseAdapter() Overridepublic void mouseClicked(MouseEve n

34、t e) if(admi n!=n ull)admi n.setE nabled(true);AddStude ntFrame.this.dispose(); );/確定按鈕的操作submitBt n. addMouseListe ner(new MouseAdapter() public void mouseClicked(MouseEve nt e) /接受用戶在客戶端輸入的值/正則表達式String studentld=idInput.getText().trim();Stri ng stude ntName=n ameI nput.getText().trim();Stri ng ag

35、e=ageI nput.getText().trim();String gen der=ge nderl nput.getText().trim();Stude nt s=new Stude nt();/注意別輸入了已存在的學(xué)籍號s.setStude ntid(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對象調(diào)用指定方法存儲

36、到數(shù)據(jù)庫boolea n result=stude ntDao.addStude nt(s);if(result)JOptio nPan e.showMessageDialog( null,添加成功!");if(admi n!=n ull)admi n.setE nabled(true); AddStude ntFrame.this.dispose();elseJOptionPane.showMessageDialog(null,添加失敗,請檢查學(xué)籍 號是否已存在! "););public void go()setVisible(true);public static vo

37、id main( Stri ng args) new AddStude ntFrame( null).go();import java.awt.C ontainer;import java.awt.GridLayout;import java.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.JB

38、utt on;import javax.sw in g.JFrame;import javax.swi ng.JLabel;import javax.swi ng.JPa nel;import javax.sw in g.JTextField;import com.briup.bea n. Stude nt;import com.briup.dao.Stude ntDaqpublic class Fin dStude ntFrame exte nds JFrameprivate Stude ntDao stude ntDao=new Stude ntDao();private JLabel i

39、dLbl, nameLbl;private JTextField idln put ,n ame In put;private JButton fin dBt n,ca ncelBt n;public Fin dStude ntFrame()setTitle("查找學(xué)生");setBounds(405, 100, 200, 390);setResizable(false);in it();eve nt(); private void in it()Container contain er=getC onten tPa ne();contain er.setLayout (n

40、ew GridLayout(3, 1);JPanel p1= new JPanel();p1.setLayout (n ull);idLbl=new JLabel("學(xué)籍號:");idLbl.setBou nds(20, 55, 50, 20);idI nput=new JTextField();idlnput.setBounds(73, 55, 100, 20);p1.add(idLbl);p1.add(idl nput);contain er.add(p1);JPa nel p2=new JPan el();p2.setLayout (n ull);nameLbl=ne

41、w JLabel("姓名:");nameLbl.setBou nds(20, 55, 50, 20);n ame In put=new JTextField();name In put.setBou nds(73, 55, 100, 20);p2.add( nameLbl);p2.add( name In put);contain er.add(p2);JPanel p3=new JPan el();p3.setLayout (n ull);fin dBt n=n ew JButto n("搜索");fin dBt n.setBou nds(60,30,

42、60,20);can celBt n=new JButt on("取消");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 eve nt()this.addWi ndowListe ner(new Win dowAdapter() public void win dowClos in g(Wi ndowEve nt e) Fin dStude ntFrame.this.dispose(););fin dBt

43、 n. addMouseListe ner(new MouseAdapter() public void mouseClicked(MouseEve nt e) Stri ng idStr=idl nput.getText().trim();Stri ng n ameStr=n ameI nput.getText().trim();Long stude ntld=null;Stri ng stude ntName=nu II;if(idStr.length()!=0) / 如果 id 有值 stude ntld=L on g.parseL on g(idStr); if(n ameStr.le

44、 ngth()!=0) studentName=nameStr; List<Stude nt>students=studentDao.findStudentByConditions(studentId, studentName);/將查詢的結(jié)果傳遞給顯示界面new ShowResultFrame(students).go() ); public void go()setVisible(true); public static void main( Stri ng args) new Fin dStude ntFrame().go();(” ".trim().length(

45、);正則表達式 s/System.out.pri ntln( "");/System.out.pri ntln ("1 2 ".replaceAII("s", "").le ngth();'lil亙河結(jié)耒o 回sz n1蘆缶整mi跨package com.briup.view;import java.awt.Color;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.eve nt.MouseAdapter;impor

46、t 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.JButton;import javax.sw in g.JFrame;import javax.swi ng.JLabel;import javax.swi ng.JOptio nPane;import com.briup.bea n

47、. Stude nt;import com.briup.dao.Stude ntDao;public class ShowResultFrame exte nds JFrame private List<Stude nt> stude nts;private Stude ntDao stude ntDao=new Stude ntDao();public ShowResultFrame(List<Stude nt> stude nts) setTitle("查詢結(jié)果");if (stude nts.size() > 0) setBounds(1

48、00, 100, 300, 60 * students.size(); else setBou nds(100, 100, 300, 150);this.stude nts = stude nts;in it();private void in it() Container container = getCo nten tPa ne();contain er.setLayout (new GridLayout(stude nts.size(), 2);/遍歷集合 將集合中的每一條數(shù)據(jù)顯示到當前容器里面if (stude nts.size() = 0) con tai ner.add( new

49、JLabel(暫無記錄!"); else for (Stude nt stu : stude nts) JLabel l = new JLabel(stu.getStude ntName();final Stude nt s = stu;l.addMouseListe ner(new MouseAdapter() public void mouseClicked(MouseEve nt e) if(e.getClickCou nt()>=2)new Stude ntFrame(s, n ull).go(); );LsetBorder(BorderFactory.createLi

50、neBorder(new Color(253, 253,187); JButton b = new JButt on("刪除");final Long studentld = stu.getStudentid();b.addMouseListe ner(new MouseAdapter() public void mouseClicked(MouseEve nt e) int choose=JOptionPane.showConfirmDialog(null,"確定刪除?");判斷用戶點擊的是否是確定按鈕if(choose=JOptio nPa ne.O

51、K_OPTION)ShowResultFrame.this.dispose();stude nts.remove(s);new ShowResultFrame(stude nts).go();stude ntDao.deleteStude ntByld(stude ntId); );container.add(l); container.add(b); private void eve nt() this.addWi ndowListe ner(new Win dowAdapter() public void win dowClos in g(Wi ndowEve nt e) ShowResu

52、ltFrame.this.dispose(); ); public void go() setVisible(true); public static void main( Stri ng args) package com.briup.view;匸H回蘆志ssimport 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.JB

53、utt on;import javax.sw in g.JFrame;import javax.swi ng.JLabel;import javax.swi ng.JOptio nPane;import javax.swi ng.JPa nel;import javax.swi ng.JPasswordField;import javax.sw in g.JTextField;import com.briup.bea n. Stude nt;import com.briup.dao.Stude ntDao;public class Stude ntFrame exte nds JFramepr

54、ivate JPa nel p1,p2,p3,p4,p5,p6;private JLabel idLbl,pwdLbl, nameLbl,ageLbl,ge nderLbl;private JTextField idln put, name In put,age In put,ge nderl nput;private JPasswordField pwd In put;private Stude nt stude nt;private JButt on modifyPwdBt n,submitBt n,exitBt n;private String n Password;private St

55、ude ntDao dao=new Stude ntDao();/stude nt記錄當前登錄的用戶n Password記錄修改以后的密碼public Stude ntFrame(Stude nt s,Stri ng n Password)this.stude nt=s;this .n Password=nPassword;/初始化的時候獲取當前用戶的密碼setTitle("學(xué)生信息");setResizable(false);setBou nds(400, 100, 300, 400);/默認關(guān)閉行為setDefaultCloseOperatio n(JFrame.EXI

56、T_ON_CLOSE);in it();eve nt(); public void go()setVisible(true);private void in it()Container contain er=getC onten tPa ne();contain er.setLayout (new GridLayout(6, 1);p1= new JPa nel();p1.setLayout (n ull);idLbl=new JLabel("學(xué)籍號:");idLbl.setBou nds(50, 30, 50, 20);idI nput=new JTextField();/需要將數(shù)字類型轉(zhuǎn)換為字符串類型+""/字符串類型-數(shù)字類型parseInt parseLongidI nput.setText(stude nt.getStude ntid()+"

溫馨提示

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

最新文檔

評論

0/150

提交評論