版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JAVA課程設(shè)計(jì) 題目: JAVA學(xué)籍管理系統(tǒng) 姓 名: 學(xué) 號(hào): 班 級(jí): 日 期: 目 錄一、設(shè)計(jì)思路3二、具體實(shí)現(xiàn)3三、運(yùn)行調(diào)試與分析討論4四、設(shè)計(jì)體會(huì)與小結(jié)8五、參考文獻(xiàn)8六、附錄8一、設(shè)計(jì)思路隨著社會(huì)經(jīng)濟(jì)的發(fā)展,入學(xué)的同學(xué)越來(lái)越多,為方便對(duì)同學(xué)學(xué)籍信息的的管理,設(shè)計(jì)學(xué)籍管理軟家來(lái)管理本班級(jí)同學(xué)的學(xué)籍信息。該軟件應(yīng)支持添加、刪除、修改、查詢功能。并且查詢功能分為兩種情況顯示查詢的結(jié)果:查詢方式主要是支持學(xué)號(hào)查詢,例如:輸入“111”,則顯示該學(xué)生的信息。 運(yùn)用流式、卡片、整體布局方式對(duì)系統(tǒng)的主界面和各功能界面進(jìn)行設(shè)計(jì);通過(guò)連接數(shù)據(jù)庫(kù)的方式來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ);各功能實(shí)現(xiàn)時(shí)訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)
2、數(shù)據(jù)信息進(jìn)行讀取,運(yùn)用Java語(yǔ)句對(duì)其進(jìn)行輸出,學(xué)號(hào)查詢時(shí)顯示在文本框中;管理員登錄、管理員添加信息,系統(tǒng)提示功能用來(lái)提醒用戶的錯(cuò)誤操作和輸入時(shí)的錯(cuò)誤信息,提醒用戶進(jìn)行改正二、具體實(shí)現(xiàn)該系統(tǒng)中的信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,并實(shí)現(xiàn)以下各功能: 管理員登錄:管理員帳號(hào)admin,密碼:12345,進(jìn)行增刪查改。添加功能:添加數(shù)據(jù)信息,當(dāng)有新同學(xué)進(jìn)入是可以添加該同學(xué)的信息。通過(guò)文本框讀入添加信息,連接數(shù)據(jù)庫(kù)后儲(chǔ)存數(shù)據(jù)。精確查詢:輸入要查詢同學(xué)的學(xué)號(hào),顯示出該同學(xué)的信息。通過(guò)文本框讀入要查找的信息,用SQL語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查找。刪除功能:該功能和精確查詢功能在同一功能模塊中實(shí)現(xiàn),有于刪除同學(xué)信息并更新數(shù)據(jù)庫(kù)
3、信息。修改功能:當(dāng)同學(xué)的信息改變時(shí),用此功能更新同學(xué)信息。通過(guò)對(duì)數(shù)據(jù)庫(kù)信息的更新保存最新信息。每種功能通過(guò)一個(gè)類來(lái)實(shí)現(xiàn):類分分為主類、精確查詢類、修改類、添加類、增加類。主類(Info_manager)實(shí)現(xiàn)系統(tǒng)主界面以及和各功能界面的連接;精確查詢類(SearchStudent)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的精確查詢;修改類(MdifyStudent)實(shí)現(xiàn)對(duì)數(shù)據(jù)的修改更新;添加類(AddStudent)向數(shù)據(jù)庫(kù)中添加新數(shù)據(jù);刪除類(DeleteStudent)實(shí)現(xiàn)對(duì)數(shù)據(jù)的刪除。該系統(tǒng)需要用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)對(duì)信息的存儲(chǔ),每次對(duì)信息的操作都要訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)的信息作相應(yīng)的讀入和取出。該系統(tǒng)流程圖如下:系統(tǒng)
4、管理員增加信息刪除信息查詢信息修改信息關(guān)于系統(tǒng)退出圖 1 系統(tǒng)流程圖圖 2 程序流程圖三、運(yùn)行調(diào)試與分析討論系統(tǒng)的詳細(xì)設(shè)計(jì)代碼請(qǐng)查閱附帶的代碼。以下僅對(duì)各個(gè)界面進(jìn)行截圖展示:圖3系統(tǒng)登錄界面圖 4 系統(tǒng)主要界面圖 5 修改信息時(shí)的界面圖 6 添加信息的界面圖7刪除界面圖8查詢界面運(yùn)行JAVA程序中的Infor_Manager文件,顯示系統(tǒng)的主界面,如圖三所示,主界面有進(jìn)入其他子功能的按鈕,選擇相應(yīng)的按鈕便可進(jìn)入相應(yīng)的功能。添加號(hào)碼功能如圖四所示,根據(jù)提示輸入要添加的信息,點(diǎn)擊確定,將彈出提示框,確認(rèn)是否添加。修改號(hào)碼功能如圖五所示,首先輸入要修改的人姓名,點(diǎn)擊開(kāi)始修改,在下面的文本框現(xiàn)實(shí)當(dāng)前數(shù)
5、據(jù)庫(kù)內(nèi)所存該人的信息,同時(shí)錄入修改鍵變化為可點(diǎn)擊,在文本框內(nèi)輸入要修改的學(xué)號(hào),點(diǎn)擊錄入修改,系統(tǒng)將新信息錄如數(shù)據(jù)庫(kù)。點(diǎn)擊精確查詢按鈕,將彈出查詢對(duì)話框,輸入學(xué)號(hào)便可以精確查詢到此人的所有學(xué)籍信息。查詢?nèi)鐖D七所示,將顯示數(shù)據(jù)庫(kù)中所存的所有號(hào)碼信息。四、設(shè)計(jì)體會(huì)與小結(jié)一周的課設(shè),自己通過(guò)查找資料、復(fù)習(xí)課本、編程調(diào)試,寫(xiě)實(shí)驗(yàn)報(bào)告等環(huán)節(jié),進(jìn)一步掌握了以前學(xué)到的知識(shí),并且還對(duì)GUI組鍵的應(yīng)用有了更深入的認(rèn)識(shí)與掌握,另外還學(xué)到了一些新東西,比如JAVA 的SWING、AWT包,以前是沒(méi)有接觸過(guò)的,可是通過(guò)這次課程設(shè)計(jì)使得我們對(duì)這個(gè)包更了解。通過(guò)與數(shù)據(jù)庫(kù)的連接掌握了Java與數(shù)據(jù)庫(kù)的連接技術(shù)。 通過(guò)實(shí)踐的學(xué)
6、習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)java語(yǔ)言,還是其它的語(yǔ)言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過(guò)程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。五、參考文獻(xiàn)1朱福喜,尹為民等編著.Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì).武漢:武漢大學(xué)出版社,2002.12 2馮軍,程超等編著.JBuilder 9.0程序設(shè)計(jì).北京:中國(guó)水利水電出版社,2004.53丁振凡,黎章等編著.Java語(yǔ)言實(shí)用教程.北京:北京郵電大學(xué)出版社,2005.84何橋,李肅義等編著.Java程序設(shè)計(jì)簡(jiǎn)明教程.北京:中國(guó)水利水電出版社,2004.9六、附錄程序的主要代碼:主界面模塊主要代碼登錄界面
7、Info_Manager.javapublic class Info_Manage extends Frame implements ActionListener JLabel JLUserName = new JLabel("用戶名:");/ 創(chuàng)建一個(gè)標(biāo)簽對(duì)象,現(xiàn)實(shí)用戶名JLabel JLPaw = new JLabel("密碼:");/ 創(chuàng)建一個(gè)標(biāo)簽對(duì)象,現(xiàn)實(shí)密碼JTextField JTUserName = new JTextField();/ 創(chuàng)建一個(gè)密碼框?qū)ο驤PasswordField JPsw = new JPasswordField();
8、/ 創(chuàng)建一個(gè)對(duì)象框?qū)ο驤Button JB1 = new JButton("登錄");/ 創(chuàng)建按鈕對(duì)象JButton JB2 = new JButton("取消");public Info_Manage() this.setTitle("學(xué)籍管理系統(tǒng)");/ 設(shè)置窗口的顯示標(biāo)題this.setLayout(null);JLUserName.setBounds(100, 40, 100, 20);/ 設(shè)置姓名標(biāo)簽顯示的大小和位置this.add(JLUserName);/ 將組件添加到容器中JTUserName.setBounds(20
9、0, 40, 80, 20);/ 設(shè)置姓名輸入對(duì)話框標(biāo)簽的大小和位置this.add(JTUserName);JLPaw.setBounds(100, 100, 60, 20);/ 設(shè)置密碼標(biāo)簽顯示的大小和位置this.add(JLPaw);/ 將組件添加到容器中JPsw.setBounds(200, 100, 80, 20);/ 設(shè)置密碼框的大小和位置this.add(JPsw);/ 將組件添加到容器中JB1.setBounds(100, 200, 60, 20);/ 設(shè)置按鈕顯示的大小和位置this.add(JB1);/ 將組件添加到容器中JB1.addActionListener(thi
10、s);JB2.setBounds(200, 200, 60, 20);/ 設(shè)置按鈕顯示的大小和位置this.add(JB2);/ 將組件添加到容器中JB2.addActionListener(this);this.setVisible(true);this.setBounds(10, 10, 400, 250);addWindowListener(new WindowAdapter()/ 設(shè)置關(guān)閉窗口的事件監(jiān)聽(tīng)public void windowClosing(WindowEvent e)System.exit(0););public static void main(String args)
11、 / TODO Auto-generated method stubnew Info_Manage();public void actionPerformed(ActionEvent e)/ 單機(jī)登錄時(shí)的事件處理if (e.getSource() = JB1) String name = JTUserName.getText();/ 獲取用戶名String password = new String(JPsw.getPassword();/ 獲取密碼if (name != null && (name.equals("admin")&& (pa
12、ssword != null && password.equals("12345")/ 判斷用戶名和密碼是否匹配new Student_manage();/ 主頁(yè)打開(kāi)this.setVisible(false);/ 隱藏該登錄窗口/ 取消按鈕/ else if(e.getSource()=JB2)/ / System.exit(0);/ else JOptionPane.showMessageDialog(null, "對(duì)不起!親,您輸入的用戶名或密碼有誤,請(qǐng)重新輸入");管理功能模塊主要代碼Student_manage.javapubl
13、ic class Student_manage extends JFrame implements ActionListener / 設(shè)置選項(xiàng)信息JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu("學(xué)生信息");JMenuItem Item1 = new JMenuItem("增加學(xué)籍信息");JMenuItem Item2 = new JMenuItem("刪除學(xué)籍信息");JMenuItem Item3 = new JMenuItem("修改學(xué)籍信息"
14、;);JMenuItem Item4 = new JMenuItem("查詢學(xué)籍信息");JMenu exit = new JMenu("系統(tǒng)");JMenuItem Item5 = new JMenuItem("系統(tǒng)信息");JMenuItem Item6 = new JMenuItem("退出");/ JPanel panel = new JPanel();/設(shè)置圖像面板/ String url = "D:Systemstitle.jpg"/圖像添加public Student_manage
15、() super("管理界面");/ JLabel img = new JLabel(new ImageIcon(url);/圖像添加/ img.setBounds(0,0,500,100);/圖像添加/ panel.add(img);/圖像添加this.setSize(500, 400);this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(jmb);jmb.add(Message);jmb.ad
16、d(exit);/ 添加到組件Message.add(Item1);Message.add(Item2);Message.add(Item3);Message.add(Item4);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);/ 設(shè)置退出exit.add(Item5);exit.add(Item6);Item5.addActionListener(this);Item6.addActionListen
17、er(this);public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = Item1) AddStudent ad = new AddStudent(); else if (e.getSource() = Item2) DeleteStudent ds = new DeleteStudent(); else if (e.getSource() = Item3) ModifyStudent ms = new ModifyStudent(); else if (e
18、.getSource() = Item4) SearchStudent ss = new SearchStudent(); else if (e.getSource() = Item5) / System.out.println("我的學(xué)籍管理系統(tǒng)");JOptionPane.showMessageDialog(null, "親,歡迎訪問(wèn)我的學(xué)籍管理系統(tǒng)"); else System.exit(0);public static void main(String args) / TODO Auto-generated method stubnew Stud
19、ent_manage();增加模塊代碼主要代碼 AddStudent.javapublic class AddStudent extends JFrame implements ActionListener JLabel JL = new JLabel("添加學(xué)生基本信息", JLabel.CENTER);JLabel JLNumber = new JLabel("學(xué)號(hào):");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示學(xué)號(hào)JTextField JTNumber = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于接收學(xué)號(hào)信息JLabel JLName = ne
20、w JLabel("姓名:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示姓名JTextField JTName = new JTextField();JLabel JLClass = new JLabel("班級(jí):");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示班級(jí)JTextField JTClass = new JTextField();JLabel JLSex = new JLabel("性別:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示性別ButtonGroup BG = new ButtonGroup();JRadioButton JRB1 = new JRadioB
21、utton("男");JRadioButton JRB2 = new JRadioButton("女");JLabel JL1 = new JLabel("學(xué)院:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示JTextField JT1 = new JTextField();JLabel JL2 = new JLabel("生日:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示生日J(rèn)TextField JT2 = new JTextField();JButton JBAdd = new JButton("添加:");/ 創(chuàng)建
22、標(biāo)簽對(duì)象JButton JBNext = new JButton("重置:");/ 創(chuàng)建標(biāo)簽對(duì)象JButton JBExit = new JButton("退出:");/ 創(chuàng)建標(biāo)簽對(duì)象String sql = ""public AddStudent() this.setTitle("添加學(xué)生學(xué)籍信息");this.setLayout(null);JL.setFont(new Font("TimesRoman", Font.BOLD, 24);/ 設(shè)置字體和顏色JL.setForeground(C
23、olor.red);JL.setFont(new Font("宋體", Font.PLAIN, 19);JL.setBounds(100, 30, 200, 40);this.add(JL);/ 以下為設(shè)置前面所創(chuàng)建的標(biāo)簽和文本框,以按照順序顯示JLNumber.setBounds(100, 80, 100, 20);this.add(JLNumber);JTNumber.setBounds(200, 80, 80, 20);this.add(JTNumber);JLName.setBounds(100, 120, 60, 20);this.add(JLName);JTNa
24、me.setBounds(200, 120, 80, 20);this.add(JTName);JLSex.setBounds(100, 160, 100, 20);this.add(JLSex);JRB1.setBounds(200, 160, 40, 20);JRB2.setBounds(300, 160, 40, 20);this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JL2.setBounds(100, 200, 80, 20);this.add(JL2);JT2.setBounds(200, 200, 80, 20);t
25、his.add(JT2);JLClass.setBounds(100, 240, 60, 20);this.add(JLClass);JTClass.setBounds(200, 240, 80, 20);this.add(JTClass);JL1.setBounds(100, 280, 60, 20);this.add(JL1);JT1.setBounds(200, 280, 80, 20);this.add(JT1);JBAdd.setBounds(80, 320, 90, 20);this.add(JBAdd);JBAdd.addActionListener(this);JBNext.s
26、etBounds(190, 320, 90, 20);this.add(JBNext);JBNext.addActionListener(this);JBExit.setBounds(300, 320, 90, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(10, 10, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSo
27、urce() = JBAdd) String snumber = JTNumber.getText();/ 獲取文本框中所輸入的信息String sname = JTName.getText();/ 獲取文本框中所輸入的信息String sclass = JTClass.getText();/ 獲取文本框中所輸入的信息String ssex = "女"/ 獲取文本框中所輸入的信息if (JRB1.isSelected()ssex = "男"elsessex = "女"String scollect = JT1.getText();St
28、ring sbir = JT2.getText();sql = "select * from student where id='" + snumber + "'"/ 根據(jù)ID對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行查詢try Class.forName("com.mysql.jdbc.Driver");/ 使用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)連接Connection con = (DriverManager.getConnection("jdbc:mysql:/localhost/student_info?user=root&passwo
29、rd=root");/ 數(shù)據(jù)源名稱student_infoStatement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(sql);/ 傳入sql語(yǔ)句,執(zhí)行查詢if (rs.next()/ 如果有查詢結(jié)果,則提示該號(hào)已經(jīng)存在,否則執(zhí)行數(shù)據(jù)庫(kù)寫(xiě)入JOptionPane.showMessageDialog(null, "該號(hào)已經(jīng)存在");else / 將文本框中所有的輸入信息都寫(xiě)入到數(shù)據(jù)庫(kù)中,sql = "insert into student values('"
30、; + snumber + "','"+ sname + "','" + sclass + "','" + ssex + "','"+ scollect + "','" + sbir + "')"/ 執(zhí)行SQL語(yǔ)句,并將返回值賦值給iint i = stmt.executeUpdate(sql);if (i > 0)/ 判斷如果i小于0,則說(shuō)明添加成功,返回相應(yīng)的提示信息JOptio
31、nPane.showMessageDialog(null, "添加成功");else/ 否則提示添加失敗JOptionPane.showMessageDialog(null, "添加失敗"); catch (Exception ee) if (e.getSource() = JBNext) JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);if (e.getSource() = JBExit) setV
32、isible(false);/* * param args */public static void main(String args) / TODO Auto-generated method stubnew AddStudent();刪除模塊主要代碼DeleteStudnet.javapublic class DeleteStudent extends JFrame implements ActionListener JLabel JL = new JLabel("刪除學(xué)生學(xué)籍信息", JLabel.CENTER);JLabel JLNumber = new JLabe
33、l("學(xué)號(hào):");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示學(xué)號(hào)JTextField JTNumber = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于獲取學(xué)號(hào)信息JLabel JLName = new JLabel("姓名:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于顯示姓名輸入提示JTextField JTName = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于獲取姓名信息JButton JBDel = new JButton("刪除:");/ 創(chuàng)建按鈕對(duì)象,用于顯示刪除JButton JBNext = new JButton(&q
34、uot;重置:");/ 創(chuàng)建按鈕對(duì)象,用于顯示重置JButton JBExit = new JButton("退出:");/ 創(chuàng)建按鈕對(duì)象,用于顯示退出String sql = ""public DeleteStudent() this.setTitle("刪除學(xué)生學(xué)籍信息");this.setLayout(null);JL.setFont(new Font("TimesRoman", Font.BOLD, 24);JL.setForeground(Color.red);JL.setFont(new ja
35、va.awt.Font("宋體", Font.PLAIN, 19);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(100, 120, 100, 20);this.add(JLNumber);JTNumber.setBounds(200, 120, 80, 20);this.add(JTNumber);JLName.setBounds(100, 160, 60, 20);this.add(JLName);JTName.setBounds(200, 160, 80, 20);this.add(JTN
36、ame);JBDel.setBounds(80, 320, 90, 20);this.add(JBDel);JBDel.addActionListener(this);JBNext.setBounds(190, 320, 90, 20);this.add(JBNext);JBNext.addActionListener(this);JBExit.setBounds(300, 320, 90, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(10, 10, 500, 400);this.setVisible(t
37、rue);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0););public void actionPerformed(ActionEvent e) / 執(zhí)行操作if (e.getSource() = JBDel) String snumber = JTNumber.getText();/ 獲取到文本框中填入的學(xué)號(hào)信息String sname = JTName.getText();/ 獲取到文本框中填入的姓名信息sql = "select * fr
38、om student where id='" + snumber + "'"try Class.forName("com.mysql.jdbc.Driver");/ 使用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)連接Connection con = (DriverManager.getConnection("jdbc:mysql:/localhost/student_info?user=root&password=root");/ 數(shù)據(jù)源名稱Statement stm = con.createStatement();Resul
39、tSet rs = stm.executeQuery(sql);/ 傳入sql語(yǔ)句if (rs.next() sql = "delete from student where id='" + snumber + "'"int n = stm.executeUpdate(sql);if (n > 0)/ 如果執(zhí)行成功則返回刪除成功JOptionPane.showMessageDialog(null, "刪除成功");else/ 否則提示刪除失敗JOptionPane.showMessageDialog(null,
40、"刪除失敗"); else / 如果不存在這個(gè)學(xué)號(hào)的學(xué)生,則返回相應(yīng)的信息JOptionPane.showMessageDialog(null, "不存在該學(xué)號(hào)學(xué)生"); catch (Exception er) if (e.getSource() = JBNext) JTNumber.setText(null);JTName.setText(null);if (e.getSource() = JBExit) setVisible(false);/* * param args */public static void main(String args)
41、new DeleteStudent();查詢模塊完整代碼 SearchStudent.javapublic class SearchStudent extends JFrame implements ActionListener JLabel JL = new JLabel("查詢學(xué)生基本信息", JLabel.CENTER);JLabel JLNumber = new JLabel("請(qǐng)輸入學(xué)號(hào):");/ 創(chuàng)建標(biāo)簽對(duì)象,用于提示輸入查詢學(xué)號(hào)JTextField JTNumber = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于接收學(xué)號(hào)信息
42、JLabel JLName = new JLabel("姓名:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于提示輸入查詢姓名JTextField JTName = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于接收姓名信息JLabel JLClass = new JLabel("班級(jí):");/ 創(chuàng)建標(biāo)簽對(duì)象,用于提示輸入查詢班級(jí)JTextField JTClass = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于接收班?jí)信息JLabel JLSex = new JLabel("性別:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于提示輸入查詢性別
43、ButtonGroup BG = new ButtonGroup();/ 創(chuàng)建文本框?qū)ο?,用于接收性別信息JRadioButton JRB1 = new JRadioButton("男");JRadioButton JRB2 = new JRadioButton("女");JLabel JL1 = new JLabel("學(xué)院:");/ 創(chuàng)建標(biāo)簽對(duì)象,用于提示輸出查詢JTextField JT1 = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于接收學(xué)號(hào)信息JLabel JL2 = new JLabel("生日:
44、");/ 創(chuàng)建標(biāo)簽對(duì)象,用于提示輸出查詢生日J(rèn)TextField JT2 = new JTextField();/ 創(chuàng)建文本框?qū)ο?,用于接收學(xué)號(hào)信息JButton JBSet = new JButton("查詢:");/ 創(chuàng)建按鈕對(duì)象JButton JBNext = new JButton("重置:");/ 創(chuàng)建按鈕對(duì)象JButton JBExit = new JButton("退出:");/ 創(chuàng)建按鈕對(duì)象String sql = ""public SearchStudent() / 設(shè)置所有的窗口大小和
45、位置this.setTitle("查詢學(xué)生學(xué)籍信息");this.setLayout(null);JL.setFont(new Font("TimesRoman", Font.BOLD, 24);/ 設(shè)置字體和顏色JL.setForeground(Color.red);JL.setFont(new Font("宋體", Font.PLAIN, 19);JL.setBounds(100, 30, 200, 40);this.add(JL);/ 以下為設(shè)置前面所創(chuàng)建的標(biāo)簽和文本框,以按照順序顯示JLNumber.setBounds(100
46、, 80, 100, 20);this.add(JLNumber);JTNumber.setBounds(200, 80, 80, 20);this.add(JTNumber);JLName.setBounds(100, 160, 60, 20);this.add(JLName);JTName.setBounds(200, 160, 80, 20);this.add(JTName);JLSex.setBounds(100, 200, 100, 20);this.add(JLSex);JRB1.setBounds(200, 200, 40, 20);JRB2.setBounds(300, 200
47、, 40, 20);this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JL2.setBounds(100, 240, 80, 20);this.add(JL2);JT2.setBounds(200, 240, 80, 20);this.add(JT2);JLClass.setBounds(100, 280, 60, 20);this.add(JLClass);JTClass.setBounds(200, 280, 80, 20);this.add(JTClass);JL1.setBounds(100, 320, 60, 20);th
48、is.add(JL1);JT1.setBounds(200, 320, 60, 20);this.add(JT1);JBSet.setBounds(80, 120, 90, 20);this.add(JBSet);JBSet.addActionListener(this);JBNext.setBounds(190, 120, 90, 20);this.add(JBNext);JBNext.addActionListener(this);JBExit.setBounds(300, 120, 90, 20);this.add(JBExit);JBExit.addActionListener(thi
49、s);this.setBounds(10, 10, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub/ TODO Auto-generated method stubif (e.getSource() = JBSet) String snumber = JTNumber.getText();/ 獲取文本框中所輸入的信息String sname = JTName.getText();/ 獲取文本框中所輸入的信息String scl
50、ass = JTClass.getText();/ 獲取文本框中所輸入的信息String ssex = "女"/ 獲取文本框中所輸入的信息if (JRB1.isSelected()ssex = "男"String scollect = JT1.getText();String sbir = JT2.getText();sql = "select * from student where id='" + snumber + "'"/ 根據(jù)ID對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行查詢try Class.forName(&q
51、uot;com.mysql.jdbc.Driver");/ 使用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)連接Connection con = (DriverManager.getConnection("jdbc:mysql:/localhost/student_info?user=root&password=root");/ 數(shù)據(jù)源名稱Statement stm = con.createStatement();ResultSet rs = stm.executeQuery(sql);/ 傳入sql語(yǔ)句,執(zhí)行查詢if (rs.next()/ 將查詢到的數(shù)據(jù)返回給相應(yīng)的變量Strin
52、g name = rs.getString(2);JTName.setText(name);String clas = rs.getString(3);JTClass.setText(clas);String sex = rs.getString(4);JRB1.setText(sex);String collect = rs.getString(5);JT1.setText(collect);String bir = rs.getString(6);JT2.setText(bir);int n = stm.executeUpdate(sql);if (n > 0)/ 判斷是否查詢成功則
53、返回各自輸出結(jié)果JOptionPane.showMessageDialog(null, "查詢成功");else/ 否則提示添加失敗JOptionPane.showMessageDialog(null, "查詢失敗"); else / 否則提示不存在該學(xué)號(hào)學(xué)生JOptionPane.showMessageDialog(null, "不存在該學(xué)號(hào)學(xué)生"); catch (Exception ee) / 重置按鈕,清空if (e.getSource() = JBNext) JTNumber.setText(null);JTName.set
54、Text(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);/ 退出按鈕,單擊退出if (e.getSource() = JBExit) setVisible(false);/* * param args */public static void main(String args) / TODO Auto-generated method stubnew SearchStudent();修改模塊完整代碼 ModifyStudent.javapublic class ModifyStudent extends JFrame implements ActionListener JLabel JL = new JLabel("修改學(xué)生基本信息", JLabel.CENTER
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 低維雜化鈣鈦礦的設(shè)計(jì)、合成及X射線探測(cè)性能研究
- 乳牙疾病的治療與預(yù)防
- 用于微波加熱的能量輻射控制技術(shù)研究
- 二零二五年度企業(yè)內(nèi)部管理授權(quán)委托書(shū)模板與字號(hào)規(guī)范9篇
- 二零二五年度高端離婚協(xié)議書(shū)模板(含子女撫養(yǎng)及財(cái)產(chǎn)分割)2篇
- 二零二五年度健身貸款押證不押車合同助力健身行業(yè)騰飛6篇
- 二零二五版寵物服務(wù)行紀(jì)委托居間服務(wù)合同2篇
- 學(xué)會(huì)正確理解命題意圖
- 二零二五版施工現(xiàn)場(chǎng)環(huán)保責(zé)任追究與賠償協(xié)議3篇
- 二零二五版同居協(xié)議樣本:同居伴侶共同生活及財(cái)產(chǎn)權(quán)益保障合同18篇
- 期末練習(xí)卷(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)滬教版
- 2025年公務(wù)員考試申論試題與參考答案
- 中國(guó)高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 小學(xué)三年級(jí)下冊(cè)奧數(shù)題100道附答案
- 四年級(jí)數(shù)學(xué)脫式計(jì)算練習(xí)題100道
- 小升初卷(試題)-2023-2024學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版
- GB/T 40565.1-2024液壓傳動(dòng)連接快換接頭第1部分:通用型
- 《教科版》二年級(jí)科學(xué)下冊(cè)全冊(cè)課件(完整版)
- (2024年)《處方管理辦法》培訓(xùn)課件
- 人工智能在化工生產(chǎn)安全中的應(yīng)用
- 三年級(jí)計(jì)算題三位數(shù)乘一位數(shù)練習(xí)300題帶答案
評(píng)論
0/150
提交評(píng)論