JAVA課程設(shè)計報告學生信息管理系統(tǒng)_第1頁
JAVA課程設(shè)計報告學生信息管理系統(tǒng)_第2頁
JAVA課程設(shè)計報告學生信息管理系統(tǒng)_第3頁
JAVA課程設(shè)計報告學生信息管理系統(tǒng)_第4頁
JAVA課程設(shè)計報告學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.教育資料JAVA程序設(shè)計課程設(shè)計報告課題:學生信息管理系統(tǒng)姓名:學號:201117030234同組姓名:專業(yè)班級:網(wǎng)絡(luò)工程11102班指導教師:設(shè)計時間:2013-6-24評閱意見:評閱意見:評定成績:指導老師簽名:年月日目錄1. 系統(tǒng)描述 11.1設(shè)計目的 11.2需求分析 11.21設(shè)計任務要求 11.22系統(tǒng)功能需求分析 21.23界面構(gòu)建 22.分析與設(shè)計 22.1功能模塊分析 22.11圖形用戶界面的設(shè)計 42.12個人信息管理模塊 102.13選課信息管理模塊 142.14獎勵信息管理模塊 172.4測試數(shù)據(jù)和數(shù)據(jù)結(jié)果 193.系統(tǒng)測試 20運行截圖 203.1用戶界面 203.2個人信息管理 203.3選課信息管理 213.4獎勵信息管理 214.心得體會 225.參考文獻 236.附錄 23系統(tǒng)描述1.1設(shè)計目的本程序用于用戶對少量學生信息進行簡單的管理,本程序針對于對安全系數(shù)要求不高,操作不是很復雜的小型客戶開發(fā)。本程序可以實現(xiàn)對學生信息的錄入、查詢、修改、刪除等操作,同時支持查看所有學生信息,功能完善,界面簡潔美觀,布局合理,操作簡便,簡單易用,任何人可輕松操作。同時,本程序?qū)ο到y(tǒng)要求配置較低,運行速度快,而卻對數(shù)據(jù)庫管理要求較低。本程序數(shù)據(jù)庫采用SQLserver2005進行數(shù)據(jù)存儲,該數(shù)據(jù)庫可實現(xiàn)關(guān)系較為簡單的數(shù)據(jù)管理。1.2需求分析利用計算機進行學生信息管理,不僅能夠保證準確、無誤、快速輸出,而且還可以利用計算機對有關(guān)信息進行查詢,檢索迅速、查找方便、可靠性高、存儲量大、保密性好。要科學地實現(xiàn)信息化管理,開發(fā)一個適合學校的,能夠進行信息存儲、查詢、修改等功能的信息管理系統(tǒng)是十分重要的。我這次的課題就是設(shè)計與實現(xiàn)一個學生信息管理系統(tǒng)。1.21設(shè)計任務要求該學生信息管理系統(tǒng)的設(shè)計要求主要有以下幾點:(1)使用圖形用戶界面;(2)用數(shù)據(jù)庫建立幾個學生信息表;(3)能連接數(shù)據(jù)庫并實現(xiàn)對學生信息查詢、增、刪、改等功能。1.22系統(tǒng)功能需求分析系統(tǒng)主要分為以下幾個模塊:個人信息管理選課信息管理獎勵信息管理系統(tǒng)主要包括以下幾項功能:(1)添加學生信息;(2)查詢學生信息;(3)刪除學生信息;(4)修改學生信息。1.23界面構(gòu)建1、為了便于各種操作,軟件采用多窗口的模式。用戶可在不同窗口進行相應操作(錄入、查詢、修改、刪除、顯示所有學生信息)。2、主窗口是用戶進行各種操作的平臺,具體操作在各個獨立功能窗口中完成。3、主窗口的主要功能位于菜單中,菜單為進入各個功能窗口的唯一通道。4、當用戶在進行個別錄入、刪除或錯誤輸入操作時,會彈出相應對話框提示用戶。5、界面布局盡量合理,各組件位置分布均勻美觀。2.分析與設(shè)計2.1功能模塊分析以下是學生信息管理系統(tǒng)功能模塊關(guān)系圖,主要包含查詢、添加、修改、刪除學生信息等功能。學生信息管理系統(tǒng)學生信息管理系統(tǒng)個人信息管理選課信息管理獎勵信息管理個人信息管理選課信息管理獎勵信息管理查詢,刪除,修改,插入操作查詢,刪除,修改,插入操作查詢,刪除,修改,插入操作查詢,刪除,修改,插入操作查詢,刪除,修改,插入操作查詢,刪除,修改,插入操作各模塊分析如下:2.11圖形用戶界面的設(shè)計功能:用戶進入時的頁面,豐富了整個系統(tǒng)的結(jié)構(gòu)主界面窗口設(shè)計函數(shù)代碼程序如下:packagestumanage;importjavax.swing.*;importjava.awt.*;importsun.awt.image.*;importjava.awt.event.*;/***<p>Title:</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2003</p>*<p>Company:</p>*@authornotattributable*@version1.0*/publicclassWelcomeFrameextendsJFrame{JPaneljPanel1=newMyPanel();ImageIconimageIcon1=newImageIcon("beautiful.jpg");BorderLayoutborderLayout1=newBorderLayout();JPaneljPanel2=newJPanel();GridBagLayoutgridBagLayout1=newGridBagLayout();JButtonjButton1=newJButton();JButtonjButton2=newJButton();JButtonjButton3=newJButton();JButtonjButton4=newJButton();JButtonjButton5=newJButton();publicWelcomeFrame(){try{jbInit();}catch(Exceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){WelcomeFramewelcomeFrame=newWelcomeFrame();welcomeFrame.pack();welcomeFrame.show();}privatevoidjbInit()throwsException{imageIcon1.setDescription("beautiful.jpg");imageIcon1.setImageObserver(this);jPanel1.setLayout(borderLayout1);jPanel1.setMinimumSize(newDimension(600,400));jPanel1.setPreferredSize(newDimension(600,420));this.setLocale(java.util.Locale.getDefault());this.setResizable(true);this.setSize(newDimension(747,396));this.setState(Frame.NORMAL);jPanel2.setBackground(UIManager.getColor("RadioButtonMenuItem.selectionBackground"));jPanel2.setForeground(Color.black);jPanel2.setMinimumSize(newDimension(100,30));jPanel2.setPreferredSize(newDimension(100,400));jPanel2.setLayout(gridBagLayout1);jButton1.setToolTipText("個人信息管理");jButton1.setText("個人信息管理");jButton1.addActionListener(newWelcomeFrame_jButton1_actionAdapter(this));jButton2.setToolTipText("選課信息管理");jButton2.setText("選課信息管理");jButton2.addActionListener(newWelcomeFrame_jButton2_actionAdapter(this));jButton3.setToolTipText("獎勵信息管理");jButton3.setText("獎勵信息管理");jButton3.addActionListener(newWelcomeFrame_jButton3_actionAdapter(this));jButton4.addActionListener(newWelcomeFrame_jButton4_actionAdapter(this));jButton5.setToolTipText("退出系統(tǒng)");jButton5.setText("退出系統(tǒng)");jButton5.addActionListener(newWelcomeFrame_jButton5_actionAdapter(this));this.getContentPane().add(jPanel1,BorderLayout.CENTER);jPanel1.add(jPanel2,BorderLayout.EAST);jPanel2.add(jButton1,newGridBagConstraints(0,0,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(0,0,0,0),0,0));jPanel2.add(jButton2,newGridBagConstraints(0,1,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(9,0,0,21),0,0));jPanel2.add(jButton3,newGridBagConstraints(0,2,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(10,0,0,10),0,0));jPanel2.add(jButton5,newGridBagConstraints(0,4,2,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(0,0,0,11),21,0));jPanel2.add(jButton4,newGridBagConstraints(0,3,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(9,0,13,0),12,0));}classMyPanelextendsJPanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);imageIcon1.paintIcon(this,g,0,0);}}voidjButton4_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel4);}voidjButton1_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();}voidjButton3_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel3);}voidjButton2_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel2);}voidjButton5_actionPerformed(ActionEvente){System.exit(0);}}classWelcomeFrame_jButton4_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton4_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton4_actionPerformed(e);}}classWelcomeFrame_jButton1_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton1_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton1_actionPerformed(e);}}classWelcomeFrame_jButton3_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton3_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton3_actionPerformed(e);}}classWelcomeFrame_jButton2_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton2_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton2_actionPerformed(e);}}classWelcomeFrame_jButton5_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton5_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton5_actionPerformed(e);}}2.12個人信息管理模塊功能:對學生個人信息進行管理,并且具有查詢,刪除,修改,插入等功能。代碼如下:Fontf=newjava.awt.Font("SansSerif",0,12);UIManager.put("Label.font",f);UIManager.put("Label.foreground",Color.black);UIManager.put("Button.font",f);UIManager.put("Menu.font",f);UIManager.put("MenuItem.font",f);UIManager.put("List.font",f);UIManager.put("CheckBox.font",f);UIManager.put("RadioButton.font",f);UIManager.put("ComboBox.font",f);UIManager.put("TextArea.font",f);UIManager.put("dbTextArea.font",f);UIManager.put("font",f);MainFramemainFrame=newMainFrame();mainFrame.setFont(newjava.awt.Font("SansSerif",0,12));mainFrame.pack();mainFrame.setSize(600,450);mainFrame.show();}privatevoidjbInit()throwsException{font1=newjava.awt.Font("SansSerif",0,12);this.getContentPane().setLayout(paneLayout1);jPanel1.setLayout(borderLayout1);jdbNavToolBar1.setDebugGraphicsOptions(0);jdbNavToolBar1.setAlignment(FlowLayout.CENTER);jPanel5.setLayout(borderLayout2);database1.setConnection(newcom.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:microsoft:sqlserver://localhost:1433;databaseName=student","sa","sa",false,"com.microsoft.jdbc.sqlserver.SQLServerDriver"));database1.setDatabaseName("");jPanel6.setFont(newjava.awt.Font("SansSerif",0,12));jPanel6.setMinimumSize(newDimension(50,100));jPanel6.setPreferredSize(newDimension(50,110));jPanel6.setLayout(borderLayout3);jPanel7.setFont(newjava.awt.Font("SansSerif",0,12));jPanel7.setMinimumSize(newDimension(100,30));jPanel7.setPreferredSize(newDimension(100,40));jPanel7.setLayout(flowLayout1);jPanel8.setFont(newjava.awt.Font("SansSerif",0,12));jPanel8.setMinimumSize(newDimension(10,10));jPanel8.setLayout(gridBagLayout2);jLabel1.setText("學號:");flowLayout1.setAlignment(FlowLayout.LEFT);jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);jLabel2.setText("姓名:");jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);jLabel3.setText("性別:");jLabel4.setHorizontalAlignment(SwingConstants.RIGHT);jLabel4.setText("班級:");jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);jLabel5.setText("生日:");jLabel6.setHorizontalAlignment(SwingConstants.RIGHT);jLabel6.setText("電話:");jLabel7.setHorizontalAlignment(SwingConstants.RIGHT);jLabel7.setText("地址:");jButton1.setText("修改");jButton1.addActionListener(newMainFrame_jButton1_actionAdapter(this));jButton2.setText("取消");jdbTable1.setFont(newjava.awt.Font("SansSerif",0,12));jdbTable1.setDataSet(queryDataSet2);jTabbedPane1.setFont(newjava.awt.Font("SansSerif",0,12));jTabbedPane1.setMinimumSize(newDimension(500,194));jTabbedPane1.setPreferredSize(newDimension(500,607));queryDataSet2.setProvider(null);queryDataSet2.setQuery(newcom.borland.dx.sql.dataset.QueryDescriptor(database1,"SELECTstudent_info.student_id,student_info.student_name,student_info.student_class,student_info.stud"+"ent_sex,student_info.student_birthday,student_info.student_tel,student_info.student_address"+"FROMstudent.dbo.student_info",null,true,Load.ALL));column8.setCaption("生日");column8.setColumnName("student_birthday");column8.setDataType(com.borland.dx.dataset.Variant.TIMESTAMP);column8.setDisplayMask("yyyy-MM-dd");column8.setEditMask("yyyy-MM-dd");column8.setSchemaName("dbo");column8.setTableName("student_info");column8.setWidth(10);column8.setServerColumnName("student_birthday");column8.setSqlType(93);column9.setCaption("學號");column9.setColumnName("student_id");column9.setDataType(com.borland.dx.dataset.Variant.INT);column9.setEditMask("######");column9.setFont(newjava.awt.Font("SansSerif",0,12));column9.setRowId(true);column9.setSchemaName("dbo");column9.setTableName("student_info");column9.setWidth(10);column9.setServerColumnName("student_id");column9.setSqlType(4);column10.setCaption("姓名");column10.setColumnName("student_name");column10.setDataType(com.borland.dx.dataset.Variant.STRING);column10.setPrecision(50);column10.setSchemaName("dbo");column10.setTableName("student_info");column10.setWidth(10);column10.setServerColumnName("student_name");column10.setSqlType(12);column11.setCaption("班級");column11.setColumnName("student_class");column11.setDataType(com.borland.dx.dataset.Variant.INT);column11.setSchemaName("dbo");column11.setTableName("student_info");column11.setWidth(10);column11.setServerColumnName("student_class");column11.setSqlType(4);column12.setCaption("性別");column12.setColumnName("student_sex");column12.setDataType(com.borland.dx.dataset.Variant.STRING);column12.setPrecision(50);column12.setSchemaName("dbo");column12.setTableName("student_info");column12.setWidth(10);column12.setServerColumnName("student_sex");column12.setSqlType(12);column13.setCaption("聯(lián)系電話");column13.setColumnName("student_tel");column13.setDataType(com.borland.dx.dataset.Variant.STRING);column13.setPrecision(50);column13.setSchemaName("dbo");column13.setTableName("student_info");column13.setWidth(10);column13.setServerColumnName("student_tel");column13.setSqlType(12);column14.setCaption("聯(lián)系地址");column14.setColumnName("student_address");column14.setDataType(com.borland.dx.dataset.Variant.STRING);column14.setPrecision(150);column14.setSchemaName("dbo");column14.setTableName("student_info");column14.setWidth(14);column14.setServerColumnName("student_address");column14.setSqlType(12);queryDataSet2.setColumns(newColumn[]{column9,column10,column11,column12,column8,column13,column14});queryDataSet2.addNavigationListener(newMainFrame_queryDataSet2_navigationAdapter(this));jPanel1.setFont(newjava.awt.Font("SansSerif",0,12));jPanel1.setPreferredSize(newDimension(472,580));jPanel5.setFont(newjava.awt.Font("SansSerif",0,12));tableScrollPane1.setFont(newjava.awt.Font("SansSerif",0,12));tableScrollPane1.getViewport().setFont(newjava.awt.Font("SansSerif",0,12));this.setFont(newjava.awt.Font("SansSerif",0,12));jPanel2.setFont(newjava.awt.Font("SansSerif",0,12));jPanel2.setLayout(borderLayout4);jLabel8.setText("學號:");jLabel9.setRequestFocusEnabled(true);jLabel9.setText("姓名:");jLabel10.setText("班級:");jLabel11.setText("性別:");jdbNavToolBar2.setEnabled(false);jdbNavToolBar2.setAlignment(FlowLayout.CENTER);jPanel10.setMinimumSize(newDimension(300,10));jPanel10.setPreferredSize(newDimension(300,10));jPanel10.setLayout(borderLayout5);2.13選課信息管理模塊功能:對學生選課信息進行管理,方便學生查詢,具有查詢,修改,刪除,插入功能模塊代碼如下:jLabel12.setText("學校設(shè)置可選課程信息");jPanel11.setMinimumSize(newDimension(200,10));jPanel11.setPreferredSize(newDimension(200,10));jPanel11.setLayout(borderLayout6);jLabel13.setText("個人已選課程信息");jButton3.setText("選課");jButton3.addActionListener(newMainFrame_jButton3_actionAdapter(this));jButton4.setText("退課");jButton4.addActionListener(newMainFrame_jButton4_actionAdapter(this));jPanel12.setLayout(xYLayout1);queryDataSet1.setReadOnly(false);queryDataSet1.setQuery(newcom.borland.dx.sql.dataset.QueryDescriptor(database1,"SELECTstudent_coursecode.course_code,student_coursecode.course_name,student_coursecode.course_period"+",student_coursecode.course_credit,student_coursecode.course_teacher,student_coursecode.course_address"+"FROMstudent.dbo.student_coursecode",null,true,Load.ALL));column1.setCaption("課程代號");column1.setColumnName("course_code");column1.setDataType(com.borland.dx.dataset.Variant.INT);column1.setRowId(true);column1.setSchemaName("dbo");column1.setTableName("student_coursecode");column1.setWidth(10);column1.setServerColumnName("course_code");column1.setSqlType(4);column2.setCaption("課程名稱");column2.setColumnName("course_name");column2.setDataType(com.borland.dx.dataset.Variant.STRING);column2.setPrecision(50);column2.setSchemaName("dbo");column2.setTableName("student_coursecode");column2.setWidth(10);column2.setServerColumnName("course_name");column2.setSqlType(12);column3.setCaption("課程學時");column3.setColumnName("course_period");column3.setDataType(com.borland.dx.dataset.Variant.INT);column3.setSchemaName("dbo");column3.setTableName("student_coursecode");column3.setWidth(10);column3.setServerColumnName("course_period");column3.setSqlType(4);column4.setCaption("課程學分");column4.setColumnName("course_credit");column4.setDataType(com.borland.dx.dataset.Variant.DOUBLE);column4.setSchemaName("dbo");column4.setTableName("student_coursecode");column4.setWidth(10);column4.setServerColumnName("course_credit");column4.setSqlType(6);column5.setCaption("任課老師");column5.setColumnName("course_teacher");column5.setDataType(com.borland.dx.dataset.Variant.STRING);column5.setPrecision(50);column5.setSchemaName("dbo");column5.setTableName("student_coursecode");column5.setWidth(10);column5.setServerColumnName("course_teacher");column5.setSqlType(12);column6.setCaption("上課地點");column6.setColumnName("course_address");column6.setDataType(com.borland.dx.dataset.Variant.STRING);column6.setPrecision(50);column6.setSchemaName("dbo");column6.setTableName("student_coursecode");column6.setWidth(10);column6.setServerColumnName("course_address");column6.setSqlType(12);queryDataSet1.setColumns(newColumn[]{column1,column2,column3,column4,column5,column6});jdbTable2.setDataSet(queryDataSet1);jdbTable2.setEditable(false);column7.setCaption("學生姓名");column7.setColumnName("course_name");column7.setDataType(com.borland.dx.dataset.Variant.STRING);column7.setPrecision(50);column7.setSchemaName("dbo");column7.setTableName("student_course");column7.setWidth(10);column7.setServerColumnName("course_name");column7.setSqlType(12);jLabel14.setText("學號:");jLabel15.setText("性別:");jLabel16.setRequestFocusEnabled(true);jLabel16.setText("姓名:");jLabel17.setText("班級:");jPanel3.setLayout(borderLayout7);jPanel15.setMinimumSize(newDimension(200,100));jPanel15.setPreferredSize(newDimension(200,250));jPanel15.setLayout(borderLayout8);jPanel14.setLayout(borderLayout9);jPanel14.setMinimumSize(newDimension(300,50));jPanel14.setPreferredSize(newDimension(300,50));jPanel14.setVerifyInputWhenFocusTarget(true);jPanel13.setPreferredSize(newDimension(404,40));jPanel16.setPreferredSize(newDimension(280,10));jPanel16.setLayout(gridBagLayout1);2.14獎勵信息管理模塊功能:對學生獎勵信息進行管理,具有插入,刪除,修改,查詢功能模塊代碼如下:jLabel18.setText("獲獎時間:");jLabel19.setText("獲獎名稱:");jdbTextField1.setText("jdbTextField1");jdbTextField1.setColumnName("gcheck_time");jdbTextField1.setDataSet(qSet_jiangli);jdbTextField2.setText("jdbTextField2");jdbTextField2.setColumnName("gcheck_title");jdbTextField2.setDataSet(qSet_jiangli);jdbTextArea1.setText("jdbTextArea1");jdbTextArea1.setColumnName("gcheck_disc");jdbTextArea1.setDataSet(qSet_jiangli);jPanel17.setLayout(borderLayout10);jButton5.setText("增加");jButton6.setText("取消");jPanel18.setLayout(borderLayout11);borderLayout11.setVgap(10);jLabel20.setText("獲獎內(nèi)容具體描述:");jdbTextField3.setEnabled(true);jdbTextField3.setAlignmentX((float)0.5);jdbTextField3.setDoubleBuffered(false);jdbTextField3.setMinimumSize(newDimension(10,22));jdbTextField3.setPreferredSize(newDimension(15,22));jdbTextField3.setMargin(newInsets(1,3,1,3));jdbTextField3.setText("");qSet_jiangli.setQuery(newcom.borland.dx.sql.dataset.QueryDescriptor(database1,"SELECTstudent_gcheck.gcheck_id,student_gcheck.gcheck_no,student_gcheck.gcheck_name,student_gcheck.gc"+"heck_time,student_gcheck.gcheck_title,student_gcheck.gcheck_disc"+"FROMstudent.dbo.student_gcheck",null,true,Load.ALL));column20.setCaption("獲獎時間");column20.setColumnName("gcheck_time");column20.setDataType(com.borland.dx.dataset.Variant.TIMESTAMP);column20.setEditMask("yyyy-MM-dd");column20.setDisplayMask("yyyy-MM-dd");column20.setSchemaName("dbo");column20.setTableName("student_gcheck");column20.setWidth(20);column20.setServerColumnName("gcheck_time");column20.setSqlType(93);jdbTable4.setDataSet(qSet_jiangli);column21.setColumnName("gcheck_id");column21.setDataType(com.borland.dx.dataset.Variant.INT);column21.setRowId(true);column21.setSchemaName("dbo");column21.setTableName("student_gcheck");column21.setVisible(com.borland.jb.util.TriStateProperty.FALSE);column21.setServerColumnName("gcheck_id");column21.setSqlType(4);column22.setColumnName("gcheck_no");column22.setDataType(com.borland.dx.dataset.Variant.INT);column22.setSchemaName("dbo");column22.setTableName("student_gcheck");column22.setVisible(com.borland.jb.util.TriStateProperty.FALSE);column22.setServerColumnName("gcheck_no");column22.setSqlType(4);column23.setColumnName("gcheck_name");column23.setDataType(com.borland.dx.dataset.Variant.STRING);column23.setPrecision(10);column23.setSchemaName("dbo");column23.setTableName("student_gcheck");column23.setVisible(com.borland.jb.util.TriStateProperty.FALSE);column23.setServerColumnName("gcheck_name");column23.setSqlType(1);column24.setCaption("獲獎名稱");column24.setColumnName("gcheck_title");column24.setDataType(com.borland.dx.dataset.Variant.STRING);column24.setPrecision(50);column24.setSchemaName("dbo");column24.setTableName("student_gcheck");column24.setWidth(20);column24.setServerColumnName("gcheck_title");column24.setSqlType(12);column25.setCaption("具體說明");column25.setColumnName("gcheck_disc");column25.setDataType(com.borland.dx.dataset.Variant.STRING);column25.setPrecision(50);column25.setSchemaName("dbo");column25.setTableName("student_gcheck");column25.setWidth(40);column25.setServerColumnName("gcheck_disc");column25.setSqlType(12);qSet_jiangli.setColumns(newColumn[]{column21,column22,column23,column20,column24,column25});jdbNavToolBar3.setAlignment(FlowLayout.CENTER);jPanel3.addFocusListener(newMainFrame_jPanel3_focusAdapter(this));this.getContentPane().add(jTabbedPane1,newPaneConstraints("jTabbedPane1","jTabbedPane1",PaneConstraints.ROOT,1.0f));2.4測試數(shù)據(jù)和數(shù)據(jù)結(jié)果3.系統(tǒng)測試運行截圖3.1用戶界面3.2個人信息管理3.3選課信息管理3.4獎勵信息管理4.心得體會做課程設(shè)計讓我對java有了新的認識,首先我接觸了很多上課見過見過但沒有實際用過的類和方法,讓我對編程有了許多新的思想。大一學了C語言,雖然當時學的還不錯,由于學的都是入門知識,所以自己做的都是DOS下執(zhí)行的程序,雖然可以實現(xiàn)一定的功能,但和自己平時用的軟件相差很大。這學期剛開課學java感覺沒什么新鮮感,它的跨平臺特性也只是聽聽,根本沒有認識,知道學到第七章圖形界面用戶編程的時候,我發(fā)現(xiàn)學會之后自己可以做出來的軟件就更接近平時使用的軟件了,不過由于平時學習不刻苦,到時沒有時間靜下心來寫java代碼,知道做課程設(shè)計,才靜下心來開始研究java,結(jié)合以前的編程知識,做起了自己的程序。我曾經(jīng)用c語言做過這個系統(tǒng),做起來會比較熟練,同時想通過做課設(shè)學習一點數(shù)據(jù)庫的知識,感覺這些知識更貼近實際應用,選好之后開始準備課設(shè),先從最簡單的主窗體,到主窗體的菜單,組件添加,再到各個功能的獨立窗體的建立,再到最后的數(shù)據(jù)庫連接,功能的實現(xiàn),一步步走來,收獲頗多。其中獨立窗體中的組件排版是碰到的第一個問題,最簡單的方法是在建每個窗體時把所有需要的組件全部重新添加進去,但是這樣代碼會很長,而卻會多占很多內(nèi)存空間,于是我決定把個功能窗體中共同的組件在一個新方法中統(tǒng)一加載,為了減小占內(nèi)存空間,組建的在主類的構(gòu)造方法中生成,所有獨立功能窗口公用組件,這樣既減少了代碼額長度,又提高了程序的內(nèi)存利用率。還有很多問題,都在權(quán)衡之后得到了較優(yōu)的解決方法。它能夠使這次課設(shè)還讓我對java的跨平臺性有了進一步認識,當我學好代碼興致勃勃的想把它做成exe可執(zhí)行文件時,在網(wǎng)上搜索之后發(fā)現(xiàn)它似乎很難實現(xiàn),就是應為它的java語言的實現(xiàn)機制,通過jre來執(zhí)行執(zhí)行java代碼,而不是調(diào)用系統(tǒng)本地代碼。除此之外我還學到了新的編程技巧,比如對try,catch的運用。剛學的時候就是照書本上的打,很不情愿但是必須打的代碼,在做課設(shè)時,我發(fā)現(xiàn)他又很神奇的功能可以幫助我解決用其他辦法不好解決的問題,比如關(guān)閉窗口。剛開始程序只有主窗口時,關(guān)閉很好實現(xiàn),但隨著程序功能的完善,需要關(guān)閉的窗口越來越多,需要關(guān)閉的類型也便多了,到了關(guān)閉Dialog的時候,發(fā)現(xiàn)Dialog不能強制轉(zhuǎn)化為Frame,如果想用前面的方法管還得把多處代碼進行修改,不過我想到了用try來解決這個問題。5.參考文獻[1]印旻.Java與面向?qū)ο蟪绦蛟O(shè)計教程.北京:清華大學出版社,1999.11[2]宛延闿.Java程序設(shè)計實例剖析.北京:國防工業(yè)出版社,2003.03[3]周曉聰.面向?qū)ο蟪绦蛟O(shè)計與Java語言.北京:機械工業(yè)出版社,2004.03[4]王克宏、郝建文.Java技術(shù)教程.北京:清華大學出版社,2002.9月6.附錄源代碼:packagestumanage;importjavax.swing.*;importjavax.swing.plaf.*;importcom.borland.dbswing.*;importjava.awt.*;importcom.borland.jbcl.layout.*;importcom.borland.dx.sql.dataset.*;importcom.borland.dx.dataset.*;importjava.awt.event.*;/***<p>Title:</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2003</p>*<p>Company:</p>*@authornotattributable*@version1.0*/publicclassMainFrameextendsJFrame{PaneLayoutpaneLayout1=newPaneLayout();staticJTabbedPanejTabbedPane1=newJTabbedPane();staticJPaneljPanel1=newJPanel();staticJPaneljPanel2=newJPanel();staticJPaneljPanel3=newJPanel();staticJPaneljPanel4=newJPanel();staticJPaneljPanel5=newJPanel();BorderLayoutborderLayout1=newBorderLayout();JdbNavToolBarjdbNavToolBar1=newJdbNavToolBar();BorderLayoutborderLayout2=newBorderLayout();Databasedatabase1=newDatabase();JPaneljPanel6=newJPanel();BorderLayoutborderLayout3=newBorderLayout();JPaneljPanel7=newJPanel();JPaneljPanel8=newJPanel();FlowLayoutflowLayout1=newFlowLayout();JLabeljLabel1=newJLabel();JLabeljLabel2=newJLabel();JLabeljLabel3=newJLabel();JLabeljLabel4=newJLabel();JLabeljLabel5=newJLabel();JLabeljLabel6=newJLabel();JLabeljLabel7=newJLabel();JButtonjButton1=newJButton();JButtonjButton2=newJButton();TableScrollPanetableScrollPane1=newTableScrollPane();JdbTablejdbTable1=newJdbTable();QueryDataSetqueryDataSet2=newQueryDataSet();Columncolumn8=newColumn();Columncolumn9=newColumn();Columncolumn10=newColumn();Columncolumn11=newColumn();Columncolumn12=newColumn();Columncolumn13=newColumn();Columncolumn14=newColumn();Fontfont1;BorderLayoutborderLayout4=newBorderLayout();JPaneljPanel9=newJPanel();JLabeljLabel8=newJLabel();JLabeljLabel9=newJLabel();JLabeljLabel10=newJLabel();JLabeljLabel11=newJLabel();JdbNavToolBarjdbNavToolBar2=newJdbNavToolBar();JPaneljPanel10=newJPanel();JPaneljPanel11=newJPanel();JPaneljPanel12=newJPanel();BorderLayoutborderLayout5=newBorderLayout();JLabeljLabel12=newJLabel();TableScrollPanetableScrollPane2=newTableScrollPane();JdbTablejdbTable2=newJdbTable();JLabeljLabel13=newJLabel();TableScrollPanetableScrollPane3=newTableScrollPane();BorderLayoutborderLayout6=newBorderLayout();JButtonjButton3=newJButton();JButtonjButton4=newJButton();XYLayoutxYLayout1=newXYLayout();QueryDataSetqueryDataSet1=newQueryDataSet();Columncolumn1=newColumn();Columncolumn2=newColumn();Columncolumn3=newColumn();Columncolumn4=newColumn();Columncolumn5=newColumn();Columncolumn6=newColumn();Columncolumn7=newColumn();JdbTablejdbTable3=newJdbTable();JLabeljLabel14=newJLabel();JLabeljLabel15=newJLabel();JPaneljPanel13=newJPanel();JLabeljLabel16=newJLabel();JLabeljLabel17=newJLabel();BorderLayoutborderLayout7=newBorderLayout();JPaneljPanel14=newJPanel();JPaneljPanel15=newJPanel();TableScrollPanetableScrollPane4=newTableScrollPane();BorderLayoutborderLayout8=newBorderLayout();BorderLayoutborderLayout9=newBorderLayout();JPaneljPanel16=newJPanel();JPaneljPanel17=newJPanel();JPaneljPanel18=newJPanel();JdbTablejdbTable4=newJdbTable();GridBagLayoutgridBagLayout1=newGridBagLayout();JLabeljLabel18=newJLabel();JLabeljLabel19=newJLabel();JdbTextFieldjdbTextField1=newJdbTextField();JdbTextFieldjdbTextFie

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論