




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE1PAGE1濱江學(xué)院《Java程序設(shè)計》實習(xí)報告題目會議記錄管理系統(tǒng)專業(yè)計算機系年級班級12級軟件工程1班學(xué)號20122305047學(xué)生姓名何俊杰學(xué)期2013-2014(2)任課教師方忠進會議記錄管理系統(tǒng)引言本系統(tǒng)是運用面向?qū)ο驤ava語言編寫的小型會議記錄管理系統(tǒng),擁有個性化界面,專為個人設(shè)計。本系統(tǒng)啟動后進入主界,在這個界面我們可以選擇所需要的功能模塊來完成所要執(zhí)行的功能。系統(tǒng)共有4個功能模塊:會議查詢、會議新增、會議刪除、會議概覽。支持一系列關(guān)于會議記錄管理方面的簡單操作,諸如查詢、刪除、添加等。通過會議記錄管理系統(tǒng)課程設(shè)計實習(xí)過程,進一步鞏固《Java程序設(shè)計》課程所學(xué)的理論知識,增強學(xué)生利用所學(xué)內(nèi)容獲取相關(guān)知識,以解決實習(xí)過程中所面臨的如何設(shè)計圖形用戶界面、怎樣對數(shù)據(jù)進行各項操作與和技術(shù)難點importjavax.swing.*、import.*、importjava.sql.*、importjava.awt.*、importjava.awt.event.*import各項功能的編譯操作,以提高利用Java語言實際動手進行程序設(shè)計的能力。獨立設(shè)計和編制一個具有一定難度的、解決實際應(yīng)用問題的應(yīng)用程序。系統(tǒng)設(shè)計(1).需求分析系統(tǒng)說明:運行程序后即進入主界面,用戶要選擇所需執(zhí)行的功能,進行數(shù)據(jù)操作時已連入數(shù)據(jù)庫創(chuàng)建相應(yīng)的數(shù)據(jù)庫表,通過鼠標(biāo)點擊相應(yīng)項,來完成所需操作??傮w設(shè)計方案系統(tǒng)流程圖運行程序運行程序進入系統(tǒng)進入系統(tǒng)會議查詢會議查詢會議新增會議概覽會議刪除會議新增會議概覽會議刪除退出退出數(shù)據(jù)庫設(shè)計在圖書管理系統(tǒng)中,共設(shè)計2張表。本系統(tǒng)使用MySQL來創(chuàng)建數(shù)據(jù)表。數(shù)據(jù)庫的名稱為mydb_meeting.sql。表meeting字段名稱數(shù)據(jù)類型參與人員文本主題文本(主鍵)內(nèi)容文本起止時間文本系統(tǒng)實現(xiàn)程序代碼(1)會議概覽:程序名MeetingBrower.javaimportjava.awt.event.*;importjavax.swing.*;importjava.awt.*;importjava.sql.*;classMeetingBrowerimplementsActionListener{ JFramef; Containercp; JPaneljp; JButtonjbt1,jbt2;//按鈕,查詢、取消 JLabellabel,L; //標(biāo)簽 //定義文本框 JTabletable;//用來接收數(shù)據(jù)庫中返回的信息ObjectcolumnName[]={"參與人","主題","內(nèi)容","起止時間"};Objectar[][]=newObject[80][4]; Stringcount="xx"; MeetingBrower(){ f=newJFrame(); cp=f.getContentPane();//初始化面板、按鈕、標(biāo)簽、文本框 jp=newJPanel(); jbt1=newJButton("確定"); jbt2=newJButton("返回"); label=newJLabel("<html><fontcolor=#FF0000size='4'>會議概況</font>",SwingConstants.CENTER); L=newJLabel("待進行的會議還有"+count+"個");table=newJTable(ar,columnName);//ar存放表中的數(shù)據(jù),columnname表示列名 JScrollPanescrollpane=newJScrollPane(table); //布局,添加控件 jp.add(jbt1); jp.add(jbt2); JPaneljpanel=newJPanel(); jpanel.add(label); JPaneljp1=newJPanel(); cp.add(jpanel,"North"); JPanelp=newJPanel();//用來放兩個表 p.setLayout(newBorderLayout()); p.add(L,"North"); p.add(scrollpane); cp.add(jp1,"West"); cp.add(p,"Center");cp.add(jp,"South"); Toolkitkit=Toolkit.getDefaultToolkit(); Dimensionscreen=kit.getScreenSize(); intx=screen.width; /*取得顯示器窗口的寬度*/ inty=screen.height; /*取得顯示器窗口的高度*/ f.setSize(400,330); intxcenter=(x-350)/2; intycenter=(y-330)/2;f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true);jbt1.addActionListener(this);//注冊監(jiān)聽器jbt2.addActionListener(this);/*f.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } } );*/ } inti=0;publicvoidshowRecord(){ while(i>=0){ ar[i][0]=""; ar[i][1]=""; ar[i][2]=""; ar[i][3]=""; i--; } i=0;try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){System.out.println("加載驅(qū)動程序失敗!");} try{ Stringurl="jdbc:mysql://:3306/mydb";//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Stringuser="root"; Stringpwd="123456"; Connectioncon=DriverManager.getConnection(url,user,pwd);//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Strings="select*fromMeeting";Statementsql=con.createStatement(); ResultSetrs=sql.executeQuery(s); while(rs.next()){ Stringcanyurenyuan=rs.getString(1); Stringzhuti=rs.getString(2); Stringneirong=rs.getString(3); Stringqizhishijian=rs.getString(4); ar[i][0]=canyurenyuan; ar[i][1]=zhuti; ar[i][2]=neirong; ar[i][3]=qizhishijian; i++; } count=""+i+""; L.setText("待進行的會議還有"+count+"個"); f.repaint(); con.close();}catch(SQLExceptiong){ System.out.println("ECode"+g.getErrorCode()); System.out.println("EM"+g.getMessage()); } } publicvoidactionPerformed(ActionEvente){ Stringcmd=e.getActionCommand(); if(cmd.equals("確定")){ f.hide(); } if(cmd.equals("返回")) f.hide(); }publicstaticvoidmain(String[]arg){ MeetingBrowera=newMeetingBrower(); a.showRecord();}}(2)會議查詢:程序名QueryMeeting.javaimportjava.awt.event.*;importjavax.swing.*;importjava.awt.*;importjava.sql.*;classQueryMeetingimplementsActionListener{ JFramef; Containercp; JPaneljp1; JButtonjbt1,jbt2;//按鈕,確定、取消 JLabellabel; //標(biāo)簽:請輸主題 JTextFieldtf,tf1,tf2,tf3,tf4;//定義文本框QueryMeeting(){ f=newJFrame(); cp=f.getContentPane();//初始化面板、按鈕、標(biāo)簽、文本框 jp1=newJPanel(); jbt1=newJButton("確定"); jbt2=newJButton("取消"); label=newJLabel("<html><fontcolor=#FF0000size='4'>請輸入會議主題:</font>",SwingConstants.CENTER); tf=newJTextField(20); tf1=newJTextField(20); tf2=newJTextField(20); tf3=newJTextField(20); tf4=newJTextField(20); //布局,添加控件 JPaneljpanel1=newJPanel(); jpanel1.add(label); jpanel1.add(tf); JPaneljp2=newJPanel();JPaneljpane2=newJPanel(); cp.add(jpanel1,"North"); JPaneljp3=newJPanel(newGridLayout(6,1)); JPaneljp4=newJPanel(); jp2.setLayout(newGridLayout(6,1)); jp2.add(newJLabel("參與人",SwingConstants.CENTER)); jp3.add(tf1); jp2.add(newJLabel("主題",SwingConstants.CENTER)); jp3.add(tf2); jp2.add(newJLabel("內(nèi)容",SwingConstants.CENTER)); jp3.add(tf3); jp2.add(newJLabel("起止時間",SwingConstants.CENTER)); jp3.add(tf4); jp4.add(jbt1); jp4.add(jbt2); cp.add(jp2,"West"); cp.add(jp3,"Center");cp.add(jp4,"South"); cp.add(jpane2,"East"); Toolkitkit=Toolkit.getDefaultToolkit(); Dimensionscreen=kit.getScreenSize(); intx=screen.width; /*取得顯示器窗口的寬度*/ inty=screen.height; /*取得顯示器窗口的高度*/ f.setSize(380,300); intxcenter=(x-380)/2; intycenter=(y-300)/2; f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true);jbt1.addActionListener(this);//注冊監(jiān)聽器jbt2.addActionListener(this);/*f3.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } } );*/ }publicvoidshowRecord(){try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){System.out.println("加載驅(qū)動程序失敗!");} try{ Stringurl="jdbc:mysql://:3306/mydb";//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Stringuser="root"; Stringpwd="123456"; Connectioncon=DriverManager.getConnection(url,user,pwd); Statementsql; Stringql=tf.getText().trim(); Strings="select*fromMeetingwhere主題='"+ql+"'";sql=con.createStatement(); ResultSetrs=sql.executeQuery(s); if(rs.next()) { Stringcanyurenyuan=rs.getString(1); Stringzhuti=rs.getString(2); Stringneirong=rs.getString(3); Stringqizhishijian=rs.getString(4); tf1.setText(canyurenyuan); tf2.setText(zhuti); tf3.setText(neirong); tf4.setText(qizhishijian); }else{JOptionPane.showMessageDialog(null,"您輸入的會議不存在,請重新輸入","輸入錯誤",JOptionPane.YES_NO_OPTION); } con.close();}catch(SQLExceptiong){ System.out.println("ECode"+g.getErrorCode()); System.out.println("EM"+g.getMessage()); } tf1.setEditable(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); }publicvoidactionPerformed(ActionEvente) { Stringcmd=e.getActionCommand(); if(cmd.equals("確定")){ showRecord(); tf.setText(""); } elseif(cmd.equals("取消")) f.hide(); }publicstaticvoidmain(String[]arg){ QueryMeetinga=newQueryMeeting();}}(3)會議刪除:程序名RemoveMeeting.javaimportjava.awt.event.*;importjavax.swing.*;importjava.awt.*;importjava.sql.*;classRemoveMeetingimplementsActionListener{ JFramef; Containercp; JPaneljp1; JButtonjbt1,jbt2,jbt3;//按鈕,查詢、取消 JLabellabel,L; //標(biāo)簽:請輸入學(xué)號 JTextFieldtf;//定義文本框 JTabletable;//用來接收數(shù)據(jù)庫中返回的信息ObjectcolumnName[]={"參與人","主題","內(nèi)容","起止時間"};Objectar[][]=newObject[80][4]; Stringzhuti; Stringcount="xx"; RemoveMeeting(){ f=newJFrame(); cp=f.getContentPane();//初始化面板、按鈕、標(biāo)簽、文本框 jp1=newJPanel(); jbt1=newJButton("查詢"); jbt2=newJButton("取消");jbt3=newJButton("刪除"); label=newJLabel("<html><fontcolor=#FF0000size='4'>請輸入要刪除的會議(主題):</font>",SwingConstants.CENTER); L=newJLabel("待進行的會議還有"+count+"個");table=newJTable(ar,columnName);//ar存放表中的數(shù)據(jù),columnname表示列名 JScrollPanescrollpane=newJScrollPane(table); tf=newJTextField(20); //布局,添加控件 jp1.add(jbt1); jp1.add(jbt2); jp1.add(jbt3); JPaneljpanel=newJPanel(); jpanel.add(label); jpanel.add(tf); JPaneljp2=newJPanel(); cp.add(jpanel,"North"); JPanelp=newJPanel();//用來放兩個表 p.setLayout(newBorderLayout()); p.add(L,"North"); p.add(scrollpane); cp.add(jp2,"West"); cp.add(p,"Center");cp.add(jp1,"South"); Toolkitkit=Toolkit.getDefaultToolkit(); Dimensionscreen=kit.getScreenSize(); intx=screen.width; /*取得顯示器窗口的寬度*/ inty=screen.height; /*取得顯示器窗口的高度*/ f.setSize(440,330); intxcenter=(x-440)/2; intycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true);jbt1.addActionListener(this);//注冊監(jiān)聽器jbt2.addActionListener(this);jbt3.addActionListener(this);/*f.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } } );*/ } inti=0;publicvoidshowRecord(Stringql){ while(i>=0){ ar[i][0]=""; ar[i][1]=""; ar[i][2]=""; ar[i][3]=""; i--; } i=0;try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){System.out.println("加載驅(qū)動程序失敗!");} try{ Stringurl="jdbc:mysql://:3306/mydb";//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Stringuser="root"; Stringpwd="123456"; Connectioncon=DriverManager.getConnection(url,user,pwd); Statementsql; Strings="select*fromMeetingwhere主題='"+ql+"'";sql=con.createStatement(); ResultSetrs=sql.executeQuery(s); while(rs.next()){ Stringcanyurenyuan=rs.getString(1); Stringzhuti=rs.getString(2); Stringneirong=rs.getString(3); Stringqizhishijian=rs.getString(4); ar[i][0]=canyurenyuan; ar[i][1]=zhuti; ar[i][2]=neirong; ar[i][3]=qizhishijian; i++; } count=""+i+""; L.setText("待進行的會議"+count+"個"); f.repaint(); con.close();System.out.println(ar[0][1]);}catch(SQLExceptiong){ System.out.println("ECode"+g.getErrorCode()); System.out.println("EM"+g.getMessage()); } }publicvoiddeleteRecord(intindex){try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){System.out.println("加載驅(qū)動程序失敗!");} try{ Stringurl="jdbc:mysql://:3306/mydb";//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Stringuser="root"; Stringpwd="123456"; Connectioncon=DriverManager.getConnection(url,user,pwd); Statementsql; Stringql=(String)(ar[index][1]); Strings="deletefromMeetingwhere主題='"+ql+"'";sql=con.createStatement(); intdel=sql.executeUpdate(s); if(del==1) {JOptionPane.showMessageDialog(null,"刪除成功!", "信息",JOptionPane.YES_NO_OPTION); } con.close(); f.repaint();}catch(SQLExceptiong){ System.out.println("ECode"+g.getErrorCode()); System.out.println("EM"+g.getMessage()); } }publicvoidactionPerformed(ActionEvente){ Stringremember=""; Stringql=""; Stringcmd=e.getActionCommand(); if(cmd.equals("查詢")){ ql=tf.getText().trim(); remember=ql; showRecord(ql); } if(cmd.equals("刪除")){ intindex=table.getSelectedRow(); if(index==-1) JOptionPane.showMessageDialog(null,"請選定要刪除的表格行", "輸入錯誤",JOptionPane.YES_NO_OPTION); else{ deleteRecord(index); //showRecord(remember); } } if(cmd.equals("取消")) f.hide(); }publicstaticvoidmain(String[]arg){ RemoveMeetinga=newRemoveMeeting();}}(4)會議新增:程序名MeetingIn.javaimportjava.awt.event.*;importjavax.swing.*;importjava.awt.*;importjava.awt.Container;importjava.sql.*;//extendsJFrameclassMeetingInimplementsActionListener{ JFramef; Containercp; JPaneljp1; JButtonjbt1,jbt2;//按鈕:確定、取消 JLabellabel; //標(biāo)簽 JTextFieldtf1,tf2,tf3,tf4;//定義文本框MeetingIn(){ f=newJFrame(); cp=f.getContentPane();//初始化面板、按鈕、標(biāo)簽、文本框 jp1=newJPanel(); jbt1=newJButton("確定"); jbt2=newJButton("取消"); label=newJLabel("<html><fontcolor=#FF0000size='4'>會議增加</font>",SwingConstants.CENTER); label.setForeground(Color.blue); tf1=newJTextField(20); tf2=newJTextField(20); tf3=newJTextField(20); tf4=newJTextField(20); //布局,添加控件 jp1.add(jbt1); jp1.add(jbt2); JPaneljpanel1=newJPanel(); jpanel1.add(label); JPaneljp2=newJPanel();JPaneljpane2=newJPanel(); cp.add(jpanel1,"North"); JPaneljp3=newJPanel(newGridLayout(6,1)); JPaneljp4=newJPanel(); jp2.setLayout(newGridLayout(6,1)); jp2.add(newJLabel("參與人",SwingConstants.CENTER)); jp3.add(tf1); jp2.add(newJLabel("主題",SwingConstants.CENTER)); jp3.add(tf2); jp2.add(newJLabel("內(nèi)容",SwingConstants.CENTER)); jp3.add(tf3); jp2.add(newJLabel("起止時間",SwingConstants.CENTER)); jp3.add(tf4); jp4.add(jbt1); jp4.add(jbt2); cp.add(jp2,"West"); cp.add(jp3,"Center");cp.add(jp4,"South"); cp.add(jpane2,"East"); Toolkitkit=Toolkit.getDefaultToolkit(); Dimensionscreen=kit.getScreenSize(); intx=screen.width; /*取得顯示器窗口的寬度*/ inty=screen.height; /*取得顯示器窗口的高度*/ f.setSize(350,330); intxcenter=(x-350)/2; intycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true);jbt1.addActionListener(this);//注冊監(jiān)聽器jbt2.addActionListener(this);/*f3.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } } );*/ }publicvoidinsertRecord(){if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||tf4.getText().equals("")) { JOptionPane.showMessageDialog(f,"請?zhí)顚憰h資料"); return; }try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){System.out.println("加載驅(qū)動程序失敗!");} try{ Stringurl="jdbc:mysql://:3306/mydb";//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Stringuser="root"; Stringpwd="123456"; Connectioncon=DriverManager.getConnection(url,user,pwd); Statementsql; Strings="insertintoMeetingvalues('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"','"+tf4.getText()+"')"; //查詢輸入的主題是否在數(shù)據(jù)庫中存在Stringquery="select*fromMeetingwhere主題='"+tf2.getText()+"'"; sql=con.createStatement(); ResultSetrs=sql.executeQuery(query);//返回查詢結(jié)果集 booleanmoreRecords=rs.next();//判斷結(jié)果集是否有數(shù)據(jù) if(moreRecords){ JOptionPane.showMessageDialog(f,"會議已存在,請重新輸入"); con.close(); tf2.setText(""); return; } intinsert=sql.executeUpdate(s); if(insert==1){ JOptionPane.showMessageDialog(null,"會議信息增加成功!"); tf1.setText(""); tf2.setText(""); tf3.setText(""); tf4.setText(""); }}catch(SQLExceptiong){ System.out.println("ECode"+g.getErrorCode()); System.out.println("EM"+g.getMessage()); } }publicvoidactionPerformed(ActionEvente){ Stringcmd=e.getActionCommand(); if(cmd.equals("確定")){ insertRecord(); } elseif(cmd.equals("取消")) f.hide(); }publicstaticvoidmain(String[]arg){ MeetingIna=newMeetingIn();}}(5)主界面:程序名Book.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classMeetingextendsJFrameimplementsAc
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校藝術(shù)活動的多樣性與豐富性計劃
- 二零二五房屋建筑勞務(wù)分包合同
- (二模)金華十校2025年4月高三模擬考試地理試卷(含答案)
- 2025年梭織服裝項目發(fā)展計劃
- 2025中華人民共和國貨物買賣合同范本
- 軟硬件項目開發(fā)合同
- 晉江市北通道整治工程合同書
- 2025設(shè)備采購合同書補充協(xié)議樣本
- 上海電影藝術(shù)職業(yè)學(xué)院《現(xiàn)當(dāng)代文學(xué)經(jīng)典閱讀與語文教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年健康管理師職業(yè)規(guī)劃與發(fā)展建議試題及答案
- 全國計算機等級考試二級Python編程真題及答案解析(共10套真題)
- 合同順延確認函
- 2024年高中歷史 第14課 當(dāng)代中國的外交說課稿 部編版選擇性必修1
- 【MOOC】人工智能:模型與算法-浙江大學(xué) 中國大學(xué)慕課MOOC答案
- Q/CSG 1 0007-2024電力設(shè)備預(yù)防性試驗規(guī)程
- 2024年10月自考00067財務(wù)管理學(xué)試題及答案
- 中西面點工藝基礎(chǔ)知識單選題100道及答案解析
- 第47 屆世界技能大賽商品展示技術(shù)項目技術(shù)文件
- DB11∕T 3023-2019 公路養(yǎng)護作業(yè)安全設(shè)施設(shè)置規(guī)范
- 四年級數(shù)學(xué)下冊 第1講 平移、旋轉(zhuǎn)和軸對稱學(xué)生版(知識梳理+典例分析+舉一反三+階梯訓(xùn)練)(蘇教版)
- 2024年重慶高考化學(xué)試題卷(含答案解析)
評論
0/150
提交評論