版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.教育资料JAVA程序设计课程设计报告课题:学生信息管理系统姓名:学号:201117030234同组姓名:专业班级:网络工程11102班指导教师:设计时间:2013-6-24评阅意见:评阅意见:评定成绩:指导老师签名:年月日目录1. 系统描述 11.1设计目的 11.2需求分析 11.21设计任务要求 11.22系统功能需求分析 21.23界面构建 22.分析与设计 22.1功能模块分析 22.11图形用户界面的设计 42.12个人信息管理模块 102.13选课信息管理模块 142.14奖励信息管理模块 172.4测试数据和数据结果 193.系统测试 20运行截图 203.1用户界面 203.2个人信息管理 203.3选课信息管理 213.4奖励信息管理 214.心得体会 225.参考文献 236.附录 23系统描述1.1设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用SQLserver2005进行数据存储,该数据库可实现关系较为简单的数据管理。1.2需求分析利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。我这次的课题就是设计与实现一个学生信息管理系统。1.21设计任务要求该学生信息管理系统的设计要求主要有以下几点:(1)使用图形用户界面;(2)用数据库建立几个学生信息表;(3)能连接数据库并实现对学生信息查询、增、删、改等功能。1.22系统功能需求分析系统主要分为以下几个模块:个人信息管理选课信息管理奖励信息管理系统主要包括以下几项功能:(1)添加学生信息;(2)查询学生信息;(3)删除学生信息;(4)修改学生信息。1.23界面构建1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生信息)。2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。5、界面布局尽量合理,各组件位置分布均匀美观。2.分析与设计2.1功能模块分析以下是学生信息管理系统功能模块关系图,主要包含查询、添加、修改、删除学生信息等功能。学生信息管理系统学生信息管理系统个人信息管理选课信息管理奖励信息管理个人信息管理选课信息管理奖励信息管理查询,删除,修改,插入操作查询,删除,修改,插入操作查询,删除,修改,插入操作查询,删除,修改,插入操作查询,删除,修改,插入操作查询,删除,修改,插入操作各模块分析如下:2.11图形用户界面的设计功能:用户进入时的页面,丰富了整个系统的结构主界面窗口设计函数代码程序如下: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("退出系统");jButton5.setText("退出系统");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("联系电话");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("联系地址");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("学校设置可选课程信息");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("获奖内容具体描述:");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测试数据和数据结果3.系统测试运行截图3.1用户界面3.2个人信息管理3.3选课信息管理3.4奖励信息管理4.心得体会做课程设计让我对java有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是DOS下执行的程序,虽然可以实现一定的功能,但和自己平时用的软件相差很大。这学期刚开课学java感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用的软件了,不过由于平时学习不刻苦,到时没有时间静下心来写java代码,知道做课程设计,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。我曾经用c语言做过这个系统,做起来会比较熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。还有很多问题,都在权衡之后得到了较优的解决方法。它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码。除此之外我还学到了新的编程技巧,比如对try,catch的运用。刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他办法不好解决的问题,比如关闭窗口。刚开始程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭Dialog的时候,发现Dialog不能强制转化为Frame,如果想用前面的方法管还得把多处代码进行修改,不过我想到了用try来解决这个问题。5.参考文献[1]印旻.Java与面向对象程序设计教程.北京:清华大学出版社,1999.11[2]宛延闿.Java程序设计实例剖析.北京:国防工业出版社,2003.03[3]周晓聪.面向对象程序设计与Java语言.北京:机械工业出版社,2004.03[4]王克宏、郝建文.Java技术教程.北京:清华大学出版社,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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024装修售后服务合同范本
- 2024年高速公路服务区食堂承包经营服务合同范本汇编3篇
- 乡镇长防汛知识培训课件
- 2025年度个人信息保护与保密服务合同3篇
- 2024食品公司智慧化物流系统建设合同
- 2024心脏内科病历管理系统升级与优化服务合同3篇
- 初级消费者知识培训课件
- 2025年度出租房屋消防安全责任与维修协议3篇
- 2024赞助合同书范本:年度公益活动支持协议3篇
- 2024男方离婚协议书:包含离婚后双方财产分割及第三方监管协议3篇
- DB43∕T 1591-2019 锂电池正极材料单位产品能源消耗限额及计算方法
- 征信合规知识线上测试题库征信知识竞赛题库(题目+答案)
- 贵州省贵阳市2021-2022学年苏教版四年级上册期末数学试卷(含答案)
- 新教材高中历史选择性必修一全册知识点总结
- 2017英语专业八级改错真题及答案持续更新部分详解文字答案校对版
- 室内蒸汽供热系统
- 小型塑料注射成型机液压系统设计
- 《干部廉政档案》2022年最新模板
- 高支模方案(专家论证定稿)
- 城投集团年度安全管理工作计划
- 美术课教案《线造型》
评论
0/150
提交评论