Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告之學(xué)生信息管理系統(tǒng)(附全部源碼)_第1頁
Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告之學(xué)生信息管理系統(tǒng)(附全部源碼)_第2頁
Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告之學(xué)生信息管理系統(tǒng)(附全部源碼)_第3頁
Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告之學(xué)生信息管理系統(tǒng)(附全部源碼)_第4頁
Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告之學(xué)生信息管理系統(tǒng)(附全部源碼)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上計(jì)算機(jī)學(xué)院課程設(shè)計(jì)專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 課程名稱: JAVA程序設(shè)計(jì) 課題名稱: 學(xué)生信息管理系統(tǒng) 教 師: 學(xué) 號(hào): 姓 名: 20010年 6 月 25 日目 錄 專心-專注-專業(yè) 第一章 總體設(shè)計(jì)1.1本系統(tǒng)的主要功能 本系統(tǒng)是基于數(shù)據(jù)庫的學(xué)生信息管理系統(tǒng),實(shí)現(xiàn)了連接數(shù)據(jù)庫,錄入、修改、查詢、刪除學(xué)生信息的功能。1.2系統(tǒng)包含的類及類之間的關(guān)系本系統(tǒng)共包括7個(gè)Java源文件和3個(gè)輔助文件。類之間的關(guān)系如圖1-1所示MainWindowInputStudentModifyStudenDeleteStudentQueryStudentDatabaseImage

2、IconStuBeanFileStuBeanDatabaseFileStuBeanDatabaseStuBeanDatabase圖 1-1 類之間的關(guān)系圖1.3 Java源文件及其功能1.MainWindow.java該類負(fù)責(zé)創(chuàng)建學(xué)生信息管理系統(tǒng)的主窗口,該類還有main方法,程序從該類開始執(zhí)行。 2.InputStudent.java該類創(chuàng)建的對(duì)象是MainWindow類的重要成員之一,負(fù)責(zé)提供錄入學(xué)生基本信息的界面。 3.ModifyStudent.java該類創(chuàng)建的對(duì)象是MainWindow類的重要成員之一,負(fù)責(zé)提供修改學(xué)生基本信息的界面。4.DeleteStudent.java該類創(chuàng)建

3、的對(duì)象是MainWindow類的重要成員之一,負(fù)責(zé)提供刪除學(xué)生基本信息的界面。5.QueryStudent.java該類創(chuàng)建的對(duì)象是MainWindow類的重要成員之一,負(fù)責(zé)提供查詢學(xué)生基本信息以及打印基本信息的界面。6.Database.java該類負(fù)責(zé)提供打開與關(guān)閉數(shù)據(jù)庫連接的功能。7.StuBean.java該類負(fù)責(zé)數(shù)據(jù)庫操作,包括對(duì)學(xué)生信息數(shù)據(jù)庫的添加、查詢、修改、刪除。1.4相關(guān)文件及其功能1.welcome.jpg為主窗口的背景圖片,MainWidow需要調(diào)用該文件。 2.icon.jpg該文件是窗口最小化時(shí)的窗口圖標(biāo),MainWidow需要調(diào)用該文件。 3.專業(yè).txt該文件為專

4、業(yè)組合的組合鍵提供下拉菜單的內(nèi)容,InputStudent與ModifyStudent需要調(diào)用該文件。4 scmanage.mdb該文件為本程序數(shù)據(jù)源,負(fù)責(zé)保存學(xué)生基本信息,Database連接到該數(shù)據(jù)庫 第二章 詳細(xì)設(shè)計(jì)2.1主類MainWindow(1)成員變量見表2-1表2-1 主要成員變量(屬性)成員變量描述變量類型名稱面板InputStudentins面板ModifyStudentmos面板DeleteStudentdes面板QueryStudentqus菜單欄JButtonBarbar菜單組JMenumenuSystem menuStu菜單項(xiàng)JMenuItemitemWel ite

5、mExit itemSearch itemAdd itemEdit itemDelete布局管理器CardLayoutcard(2)方法見表2-2表2-2 主要方法方法名稱返回類型功能備注MainWindow無類型創(chuàng)建窗口構(gòu)造方法actionPerformed無類型處理響應(yīng)事件繼承自父類抽象方法main無類型執(zhí)行程序程序的主函數(shù)(3)源代碼見文件MainWindow.java2.2類Database(1)成員變量見表2-3表2-3 主要成員變量成員變量描述變量類型名稱執(zhí)行SQL語句的接口Statementstmt返回結(jié)果的接口ResultSetrs數(shù)據(jù)庫連接接口Connectionconn字符

6、串(SQL語句、驅(qū)動(dòng))Stringsql strurl(2)方法見表2-4表2-4 主要方法方法名稱返回類型功能備注Database無類型創(chuàng)建Database對(duì)象構(gòu)造方法OpenConn無類型打開數(shù)據(jù)庫連接無executeQueryResultSet執(zhí)行SQL查詢語句,返回結(jié)果集RS返回ResultSet類型結(jié)果集executeUpdate無類型執(zhí)行SQL更新語句無closeStmt無類型關(guān)閉當(dāng)前的Statement對(duì)象無closeConn無類型關(guān)閉數(shù)據(jù)庫連接無(3)源代碼見文件Database.java2.3類StuBean(1)成員變量見表2-5表2-5 主要成員變量成員變量描述變量類型名

7、稱返回結(jié)果的接口ResultSetrs字符串(SQL語句 數(shù)據(jù)庫屬性)Stringsql sNum sName sSex sMajor sGrade sBirth創(chuàng)建Database對(duì)象DatabaseDB(2)方法見表2-4表2-4 主要方法方法名稱返回類型功能備注stuAdd添加學(xué)生信息無stuModify修改學(xué)生信息無stuDel刪除學(xué)生信息無stuSearchString根據(jù)學(xué)號(hào)查詢學(xué)生信息返回ResultSet類型結(jié)果集(3)源代碼見文件StuBean.java2.4類InputStudent(1)成員變量見表2-5表2-5 主要成員變量成員變量描述變量類型名稱StuBean對(duì)象類型

8、StuBeanaddStu queryStu文本域JTextFieldSnum Sname Sgrade Sbirth組合框JComboBoxSmajor單選框ButtonGroupboy,girl按鈕多斥作用域ButtonGroupgroup按鈕JButtonEntry reset(2)方法見表2-4表2-4 主要方法方法名稱返回類型功能備注InputStudent無類型創(chuàng)建錄入學(xué)生信息界面構(gòu)造方法actionPerformed無類型處理響應(yīng)事件繼承自父類抽象方法clearMess無類型清除文本框內(nèi)容無(3)源代碼見文件InputStudent.java2.5類ModifyStudent(1

9、)成員變量見表2-5表2-5 主要成員變量成員變量描述變量類型名稱StuBean對(duì)象類型StuBeanmodifyStu queryStu文本域JTextFieldSnum Sname Sgrade Sbirth組合框JComboBoxSmajor單選框ButtonGroupboy,girl按鈕多斥作用域ButtonGroupgroup按鈕JButtonentry reset start(2)方法見表2-4表2-4 主要方法方法名稱返回類型功能備注ModifyStudent無類型創(chuàng)建修改學(xué)生信息界面構(gòu)造方法actionPerformed無類型處理響應(yīng)事件繼承自父類抽象方法clearMess無類

10、型清除文本框內(nèi)容無(3)源代碼見文件Modify.java2.6類QueryStudent(1)成員變量見表2-5表2-5 主要成員變量成員變量描述變量類型名稱StuBean對(duì)象類型StuBean queryStu文本域JTextFieldSnum Sname Sgrade Sbirth Smajor啟動(dòng)并執(zhí)行打印作業(yè)PrintJobpri單選框ButtonGroupboy,girl按鈕多斥作用域ButtonGroupgroup按鈕JButtonquert print面板(查詢結(jié)果之后)JPanelmessPanel(2)方法見表2-4表2-4 主要方法方法名稱返回類型功能備注QueryStu

11、dent無類型創(chuàng)建錄入學(xué)生信息界面構(gòu)造方法actionPerformed無類型處理響應(yīng)事件繼承自父類抽象方法clearMess無類型清除文本框內(nèi)容無(3)源代碼見文件QueryStudent.java2.7類DeleteStudent(1)成員變量見表2-5表2-5 主要成員變量成員變量描述變量類型名稱StuBean對(duì)象類型StuBeandelStu queryStu文本域JTextFieldSnum Sname Sgrade Sbirth Smajor單選框ButtonGroupboy,girl按鈕多斥作用域ButtonGroupgroup按鈕JButtondel(2)方法見表2-4表2-4

12、 主要方法方法名稱返回類型功能備注InputStudent無類型創(chuàng)建錄入學(xué)生信息界面構(gòu)造方法actionPerformed無類型處理響應(yīng)事件繼承自父類抽象方法clearMess無類型清除文本框內(nèi)容無(3)源代碼見文件DeleteStudent.java第三章 功能測(cè)試及運(yùn)行效果3.1 系統(tǒng)主界面圖3-1 系統(tǒng)主窗口3.2 錄入學(xué)生信息界面圖3-2 學(xué)生信息錄入界面3.3 查詢學(xué)生信息界面圖3-3學(xué)生信息查詢界面3.4 修改學(xué)生信息界面 圖3-4學(xué)生信息修改界面3.5 修改學(xué)生信息界面 3-5學(xué)生信息刪除界面工作總結(jié)通過這次課程設(shè)計(jì),我鍛煉了自己的動(dòng)手能力,鞏固了對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)概念的理解和J

13、AVA的運(yùn)用,初步掌握J(rèn)AVA開發(fā)應(yīng)用程序的基本方法,學(xué)習(xí)了對(duì)數(shù)據(jù)庫的基本操作,能夠?qū)icrosoft Acess的表做基本處理,提高了自己綜合運(yùn)用所學(xué)知識(shí)的能力。深刻認(rèn)識(shí)到了基本知識(shí)的重要性。現(xiàn)在我知道了,不知道函數(shù)怎么來的,根本什么也做不了。除非照抄別人的代碼,那樣也根本不可能知道功能是如何實(shí)現(xiàn)的?,F(xiàn)在很有必要加強(qiáng)基本語法知識(shí)的學(xué)習(xí)了。JAVA應(yīng)用性很強(qiáng),只有老師的講解不行,只看也不中,只有自己動(dòng)手去做才會(huì)發(fā)現(xiàn)自己確實(shí)有太多的不足,許多程序看似簡(jiǎn)單,真正去做才知道知識(shí)并沒有自己想象的那樣扎實(shí)。從而懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合

14、起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。其中對(duì)JAVA圖像用戶界面、JAVA數(shù)據(jù)庫JDBC的運(yùn)用、內(nèi)部匿名類等JAVA知識(shí)有了更深的理解與應(yīng)用。樹立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。提高了學(xué)習(xí)計(jì)算機(jī)的興趣,增強(qiáng)了信心。在本次課程設(shè)計(jì)中,我遇到了很多的困難,這些困難搞得我焦頭爛額,幾度試圖放棄,但最終堅(jiān)持著一一把困難克服掉了。每當(dāng)克服一個(gè)困難,都非常的興奮,這些都是自己努力的結(jié)果?,F(xiàn)在,我有信心面對(duì)接下來的挑戰(zhàn),在不斷的實(shí)踐中鍛煉自己,

15、提高自己!經(jīng)過幾個(gè)星期的設(shè)計(jì)和開發(fā),系統(tǒng)基本開發(fā)完畢。在本次課程設(shè)計(jì)中困難遇到不少,比如數(shù)據(jù)庫的連接,SQL語言的書寫格式,全局參數(shù)的傳遞等。由于設(shè)計(jì)時(shí)間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如用戶界面不夠美觀,功能不夠完善等多方面問題。在這次系統(tǒng)開發(fā)的過程中,我深深體會(huì)到了做一個(gè)系統(tǒng),首先進(jìn)行需求分析的重要性,了解了一個(gè)系統(tǒng)的制作,從功能分析到功能模塊分析、與其他系統(tǒng)的關(guān)系,再到數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫結(jié)構(gòu)實(shí)現(xiàn)及各功能模塊的創(chuàng)建都需要從整體上考慮設(shè)計(jì)。這些都有待以后進(jìn)一步改進(jìn)。回顧起此次JAVA課程設(shè)計(jì),我仍感慨頗多,學(xué)到了很多的東西。同時(shí)不僅鞏固了以前所學(xué)過的知識(shí),而且還學(xué)到了很多在書本上

16、所沒有學(xué)到過的知識(shí)。在實(shí)際設(shè)計(jì)中才發(fā)現(xiàn),書本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。一切問題必須要靠自己一點(diǎn)一滴的解決,而在解決的過程當(dāng)中你會(huì)發(fā)現(xiàn)自己在飛速的提升。參考文獻(xiàn)1 耿祥義,張躍平.Java 2實(shí)用教程(第三版)M.北京:清華大學(xué)出版社,20062 (美)霍斯特曼(Horstmann C.S.)&nbs. Java2核心技術(shù)(卷高級(jí)特性原書第7版)/Sun公司核心技術(shù)叢書 M.機(jī)械工業(yè)出版社, 2006全部源碼(此源碼不在報(bào)告中,為了看著方便,附在了后面)。Database.javapackag

17、e Stu;import java.sql.*;/* * 連接數(shù)據(jù)庫的類 */public class Database private Statement stmt=null;ResultSet rs=null;private Connection conn=null;String sql;String strurl="jdbc:odbc:scmanage"public Database()/* * 打開數(shù)據(jù)庫連接 */public void OpenConn()throws ExceptiontryClass.forName("sun.jdbc.odbc.Jd

18、bcOdbcDriver"); conn=DriverManager.getConnection(strurl);catch(Exception e) System.err.println("OpenConn:"+e.getMessage();/* * 執(zhí)行SQL查詢語句,返回結(jié)果集RS */public ResultSet executeQuery(String sql)stmt = null;rs=null;trystmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONC

19、UR_READ_ONLY);rs=stmt.executeQuery(sql);catch(SQLException e)System.err.println("executeQuery:"+e.getMessage();return rs;/* * 執(zhí)行SQL更新語句 */public void executeUpdate(String sql)stmt=null;rs=null;trystmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.e

20、xecuteQuery(sql);mit();catch(SQLException e)System.err.println("executeUpdate:"+e.getMessage(); public void closeStmt()trystmt.close();catch(SQLException e)System.err.println("closeStmt:"+e.getMessage(); /* * 關(guān)閉數(shù)據(jù)庫連接 */public void closeConn()tryconn.close();catch(SQLException ex)

21、System.err.println("aq.closeConn:"+ex.getMessage(); /* *轉(zhuǎn)換編碼 */public static String toGBK(String str)try if(str=null)str = ""elsestr=new String(str.getBytes("ISO-8859-1"),"GBK"); catch (Exception e) System.out.println(e);return str;DeleteStudent.javapackage St

22、u;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DeleteStudent extends JPanel implements ActionListener/* * */private static final long serialVersionUID = 1L;/* * 刪除界面 */StuBean queryStu = new StuBean();StuBean delStu = new StuBean();JTextField Snum,Sname,Smajor,Sgrade,S

23、birth;JRadioButton boy,girl;JButton del;ButtonGroup group = null;public DeleteStudent()Snum = new JTextField(20);del = new JButton("刪除");Snum.addActionListener(this);del.addActionListener(this);Sname = new JTextField(20);Sname.setEditable(false);Smajor = new JTextField(20);Smajor.setEditab

24、le(false);Sgrade = new JTextField(20);Sgrade.setEditable(false);Sbirth = new JTextField(20);Sbirth.setEditable(false);group = new ButtonGroup();boy = new JRadioButton("男",false);girl = new JRadioButton("女",false);group.add(boy);group.add(girl);Box box0 = Box.createHorizontalBox()

25、;JLabel label = new JLabel("學(xué)生信息刪除",JLabel.CENTER);label.setFont(new Font("黑體", Font.BOLD, 25);box0.add(label);Box box1 = Box.createHorizontalBox();box1.add(new JLabel("學(xué)號(hào):",JLabel.CENTER);box1.add(Snum);box1.add(del);Box box2 = Box.createHorizontalBox();box2.add(new JL

26、abel("姓名:",JLabel.CENTER);box2.add(Sname);Box box3 = Box.createHorizontalBox();box3.add(new JLabel("性別:",JLabel.CENTER);box3.add(boy);box3.add(girl);Box box4 = Box.createHorizontalBox();box4.add(new JLabel("專業(yè):",JLabel.CENTER);box4.add(Smajor);Box box5 = Box.createHoriz

27、ontalBox();box5.add(new JLabel("年級(jí):",JLabel.CENTER);box5.add(Sgrade);Box box6 = Box.createHorizontalBox();box6.add(new JLabel("出生:",JLabel.CENTER);box6.add(Sbirth);Box boxH = Box.createVerticalBox();boxH.add(box0);boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.a

28、dd(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue();JPanel messPanel = new JPanel();messPanel.add(boxH);messPanel.setBackground(Color.YELLOW);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();setVisible(true);/處理事件public void actionPerformed(ActionEvent e) if(e.getSour

29、ce() = del|e.getSource() = Snum)String number = ""number = Snum.getText();String rs = new String4;rs = queryStu.stuSearch(number);if(rs != null)String q = "該生信息已存在,您想刪除該生的基本信息嗎?"int yes = JOptionPane.showConfirmDialog(this,q,"確認(rèn)",JOptionPane.YES_NO_OPTION,JOptionPane.QU

30、ESTION_MESSAGE);if(yes = JOptionPane.YES_OPTION)Sname.setText(rs0); Smajor.setText(rs2); Sgrade.setText(rs3); Sbirth.setText(rs4); if(rs1.equals("男") boy.setSelected(true); else girl.setSelected(true); String m = "確定要?jiǎng)h除該學(xué)號(hào)及全部信息嗎?"int ok = JOptionPane.showConfirmDialog(this,m, &qu

31、ot;確認(rèn)",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok = JOptionPane.YES_OPTION)delStu.stuDel(number);else if(ok = JOptionPane.NO_OPTION)Snum.setText(null);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null);else if(yes = JOptionPane.NO_OPTION)Snum.s

32、etText(null);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null); elseJOptionPane.showMessageDialog(this,"該學(xué)號(hào)不存在!","警告", JOptionPane.WARNING_MESSAGE);InputStudent.javapackage Stu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import

33、java.io.*;public class InputStudent extends JPanel implements ActionListener/* * */private static final long serialVersionUID = 1L;/* * 錄入界面 */StuBean addStu = new StuBean();StuBean queryStu = new StuBean();/設(shè)置“錄入界面”窗口JTextField Snum,Sname,Sgrade,Sbirth;JComboBox Smajor;JRadioButton boy,girl;ButtonG

34、roup group = null;JButton entry,reset;public InputStudent()Snum = new JTextField(20);Sname = new JTextField(20);Smajor = new JComboBox();tryFile f = new File("專業(yè).txt");FileReader fr = new FileReader(f.getPath();BufferedReader br = new BufferedReader(fr);String s = null;while(s= br.readLine

35、()!=null)Smajor.addItem(s);fr.close();br.close();catch(IOException exp)Sgrade = new JTextField(20);Sbirth = new JTextField(20);group = new ButtonGroup();boy = new JRadioButton("男",true);girl = new JRadioButton("女",false);group.add(boy);group.add(girl);entry = new JButton("錄入

36、");reset = new JButton("重置");entry.addActionListener(this);reset.addActionListener(this);Box box0 = Box.createHorizontalBox();JLabel label = new JLabel("學(xué)生信息錄入",JLabel.CENTER);label.setFont(new Font("黑體", Font.BOLD, 25);box0.add(label);Box box1 = Box.createHorizont

37、alBox();box1.add(new JLabel("學(xué)號(hào):",JLabel.CENTER);box1.add(Snum);Box box2 = Box.createHorizontalBox();box2.add(new JLabel("姓名:",JLabel.CENTER);box2.add(Sname);Box box3 = Box.createHorizontalBox();box3.add(new JLabel("性別:",JLabel.CENTER);box3.add(boy);box3.add(girl);Box b

38、ox4 = Box.createHorizontalBox();box4.add(new JLabel("專業(yè):",JLabel.CENTER);box4.add(Smajor);Box box5 = Box.createHorizontalBox();box5.add(new JLabel("年級(jí):",JLabel.CENTER);box5.add(Sgrade);Box box6 = Box.createHorizontalBox();box6.add(new JLabel("出生:",JLabel.CENTER);box6.ad

39、d(Sbirth);Box boxH = Box.createVerticalBox();boxH.add(box0);boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue();JPanel putButton = new JPanel();putButton.add(entry);putButton.add(reset);JPanel messPanel = new JPanel();messPanel.

40、add(boxH);messPanel.setBackground(Color.red);putButton.setBackground(Color.cyan);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);add(putButton,BorderLayout.SOUTH);validate();setVisible(true);/事件處理public void actionPerformed(ActionEvent e) if(e.getSource() = entry)String number = &quo

41、t;"number = Snum.getText();String rs = new String4;rs = queryStu.stuSearch(number);if(rs != null)String w = "該生基本信息已存在,請(qǐng)到修改頁面修改!"JOptionPane.showMessageDialog(this, w, "警告", JOptionPane.WARNING_MESSAGE);elseString name = Sname.getText();String major = (String)Smajor.getSelec

42、tedItem();String grade = Sgrade.getText();String birth = Sbirth.getText();String sex = null;if(boy.isSelected()sex = boy.getText();if(girl.isSelected()sex = girl.getText();addStu.stuAdd(number, name, sex, major, grade, birth);else if(e.getSource() = reset)clearMess();public void clearMess()Snum.setT

43、ext(null);Sname.setText(null);Sgrade.setText(null);Sbirth.setText(null);MainWindow.javapackage Stu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class MainWindow extends JFrame implements ActionListener /* * */private static final long serialVersionUID = 1L;/

44、* * 主窗口的初始化 */InputStudent ins;ModifyStudent mos;QueryStudent qus;DeleteStudent des;/ 建立菜單欄JMenuBar bar;/ 建立“系統(tǒng)管理”菜單組JMenu menuSystem;JMenuItem itemExit;JMenuItem itemWel;/ 建立“學(xué)生管理”菜單組JMenu menuStu;JMenuItem itemSearch;JMenuItem itemAdd;JMenuItem itemEdit;JMenuItem itemDelete;File file = null;CardLa

45、yout card;JLabel label = null;JPanel pCenter;public MainWindow() / 生成“系統(tǒng)管理”組menuSystem = new JMenu("系統(tǒng)管理");itemWel = new JMenuItem("歡迎界面");itemExit = new JMenuItem("退出");/ 生成“學(xué)生管理”組menuStu = new JMenu("學(xué)生管理");itemAdd = new JMenuItem("錄入學(xué)生信息");itemSea

46、rch = new JMenuItem("查詢學(xué)生信息");itemEdit = new JMenuItem("修改學(xué)生信息");itemDelete = new JMenuItem("刪除學(xué)生記錄");/ 添加所有菜單組bar = new JMenuBar();bar.add(menuSystem);bar.add(menuStu);/ 添加“系統(tǒng)管理”菜單項(xiàng)menuSystem.add(itemWel);menuSystem.add(itemExit);/ 添加“學(xué)生管理”菜單項(xiàng)menuStu.add(itemAdd);menuS

47、tu.add(itemSearch);menuStu.add(itemEdit);menuStu.add(itemDelete);setJMenuBar(bar);/ 設(shè)置主窗口label = new JLabel("學(xué)生信息管理系統(tǒng)", JLabel.CENTER);label.setIcon(new ImageIcon(getClass().getResource("welcome.jpg");label.setFont(new Font("黑體", Font.BOLD, 40);label.setHorizontalTextPo

48、sition(SwingConstants.CENTER);label.setForeground(Color.RED);/ 添加事件監(jiān)聽itemExit.addActionListener(this);itemWel.addActionListener(this);itemAdd.addActionListener(this);itemSearch.addActionListener(this);itemEdit.addActionListener(this);itemDelete.addActionListener(this);/ 卡片布局管理器設(shè)置card = new CardLayou

49、t();pCenter = new JPanel();pCenter.setLayout(card);ins = new InputStudent();mos = new ModifyStudent();qus = new QueryStudent();des = new DeleteStudent();pCenter.add("歡迎界面",label);pCenter.add("錄入界面", ins);pCenter.add("查詢界面",qus);pCenter.add("修改界面", mos);pCenter

50、.add("刪除界面", des);add(pCenter, BorderLayout.CENTER);setTitle("學(xué)生信息管理系統(tǒng)");/設(shè)置窗口名ImageIcon icon = new ImageIcon(getClass().getResource("icon.jpg");/設(shè)置最小化圖標(biāo)setIconImage(icon.getImage();validate();setVisible(true);/setExtendedState(JFrame.MAXIMIZED_BOTH);setBounds(250, 200,

51、440, 390);/ 關(guān)閉窗口setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) int n = JOptionPane.showConfirmDialog(null, "確認(rèn)退出嗎?", "確認(rèn)對(duì)話框",JOptionPane.YES_NO_OPTION);if (n = JOptionPane.YES_OPTION)System.exit(0););/ 事件處理public void actionPerformed(ActionEvent e) /返回歡迎界

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論