《JAVA课程设计报告(教室管理系统)》由会员分享,可在线阅读,更多相关《JAVA课程设计报告(教室管理系统)(29页珍藏版)》请在金锄头文库上搜索。
1、课课 程程 设设 计计 报报 告告 学院、系:吉林大学珠海学院计算机科学与技术系 专业名称:网络工程 课程设计科目java 程序课程设计 学生姓名:王佳 指导教师:吕健波 完成时间:2010 年 9 月-11 月 教师管理系统教师管理系统 一、设计任务与目标 1)负责教师管理的主界面(用菜单方式打开下面的四个功能界面) 录入教师管理的界面 修改教师管理的界面 查询教师管理的界面 删除教师管理的界面 2)教师数据表的字段要求至少包含:工号、姓名、年龄、职称、所在系、 教授的主要课程、联系电话、联系地址等字段。要求字段类型设计合理、使用方 便。 3)要求界面美观大方、功能实现完整 此程序的设计,主
2、要包括两个主体部分,一是界面部分,二是创建按钮并 监听,实现录入,修改,查询,删除等功能。 以前在 C+编写过类似的教师管理系统,其主要思路和本题保持一致,但代码不 同。 需要准备的工作是创建主界面并完善各项分功能,连接数据库,实现录入和查看 同步。此次设计将会提高我对真正的 JAVA 程序设计的实战能力,对以前学过的 知识融会贯通,并且深化和应用。意在最终程序可以美观,实用,人性化,尽最 大的能力扩充相关分模块。 二、方案设计与论证 针对这道设计题的特点,首先做一个界面,界面中包括相关的分功能,录 入,修改,查询,删除等,用 surface 做界面,分别设置各自的监听器,监听每 一个 but
3、ton,并且各个分功能是对应各自的类。这样的话,有利于用户提出不 同修改的要求,此时只要单独修改个别类即可,提高程序的便捷化并且满足不同 客户的需要。在做这道题时遇到最大的障碍就是连接 access 数据库,因为以前 没学过,所以这部分知识完全不会,必须考自学。自己做这道题与其他设计人员 最大的不同就在于将每个分功能,各自单独的写在一个类中,与把所有源代码都 写在一个 JAVA 文件中的方法,更易于修改和编辑。 三、程序框图或流程图,程序清单与调用关系 四、全部源程序清单 package parent_window; /(package parent window 包中的类) import j
4、ava.awt.*; import javax.swing.*; import son_windows.*; public class surFace extends JFrame JButton findSt,addSt,chanSt,delSt,exitSt;/查找,添加,删除,退出 /构造函数 public surFace() 教师信息管理系统主界面 Surface Ads(录入)Chan(修改)Fin(查询)Del(删除)Ext(退出) Access 数据库 对数据库中的内容 进行编辑 Container c=this.getContentPane(); c.setLayout(new
5、 GridLayout(2,1); JPanel lowerPanel=new JPanel(); c.setFont(new Font(plain,Font.PLAIN,13); JLabel label=new JLabel(欢迎进入教师信息管理系统,SwingConstants.CENTER); label.setFont(new Font(BOLD,Font.BOLD,30); c.add(label); /创建按钮 addSt=new JButton(录入); addSt.setToolTipText(添加教师信息); findSt=new JButton(查询); findSt.s
6、etToolTipText(查询信息); chanSt=new JButton(修改); chanSt.setToolTipText(修改成绩); delSt=new JButton(删除); delSt.setToolTipText(删除信息); exitSt=new JButton(退出); exitSt.setToolTipText(安全退出本系统); lowerPanel.add(findSt); lowerPanel.add(addSt); lowerPanel.add(chanSt); lowerPanel.add(delSt); lowerPanel.add(exitSt); c
7、.add(lowerPanel); /注册监听器, 新建独立监听器类查找: fin(),添加: ads(),删除: del(),退出本体统: ext() findSt.addActionListener(new fin(); addSt.addActionListener(new ads(); chanSt.addActionListener(new cc(); /chanSt.addActionListener(new chan(); delSt.addActionListener(new del(); exitSt.addActionListener(new ext(); /main 方法
8、,实现主界面 public static void main (String args) surFace su=new surFace(); su.setSize(500,400); su.setTitle(欢迎使用教师管理系统!); su.setVisible(true); /* *建立独立事件监听器类 ads,处理 surFace 中“录入”点击事件 */ package son_windows; /(package son_windows 包中的类) (1) import java.awt.*; import javax.swing.*; import java.awt.event.*;
9、 import java.sql.*; public class ads extends JFrame implements ActionListener JTextField numberText,nameText,ageText,jobText,departmenText,classText,phoneText,addressTe xt; JButton addButton,clearButton,closeButton; Container c2; JDialog jd; JDialog jd2; public ads() c2=this.getContentPane(); c2.set
10、Layout(new GridLayout(3,1); JPanel p1=new JPanel(new GridLayout(8,2); JPanel p2=new JPanel(new FlowLayout(); / JLabel logoLabel=new JLabel(ii,SwingConstants.CENTER); logoLabel.setForeground(Color.black); logoLabel.setFont(new Font(TRUE,Font.TRUETYPE_FONT,20); logoLabel.setText(教师信息); c2.add(logoLabe
11、l); /创建 JTextField numberText=new JTextField(); nameText=new JTextField(); ageText=new JTextField(); jobText=new JTextField(); departmenText=new JTextField(); classText=new JTextField(); phoneText=new JTextField(); addressText=new JTextField(); /添加 JTextField p1.add(new JLabel(工号,SwingConstants.CENT
12、ER); p1.add(numberText); p1.add(new JLabel(姓名,SwingConstants.CENTER); p1.add(nameText); p1.add(new JLabel(年龄,SwingConstants.CENTER); p1.add(ageText); p1.add(new JLabel(职称,SwingConstants.CENTER); p1.add(jobText); p1.add(new JLabel(所在系,SwingConstants.CENTER); p1.add(departmenText); p1.add(new JLabel(主
13、授课程,SwingConstants.CENTER); p1.add(classText); p1.add(new JLabel(联系电话,SwingConstants.CENTER); p1.add(phoneText); p1.add(new JLabel(联系地址,SwingConstants.CENTER); p1.add(addressText); c2.add(p1) ; / addButton=new JButton(添加); clearButton=new JButton(清除); closeButton=new JButton(退出); p2.add(addButton);
14、p2.add(clearButton); p2.add(closeButton); c2.add(p2); this.setSize(500,400); this.setTitle(添加教师信息); /为添加按钮添加监听器(使用匿名内部类处理点击事件) addButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String number,name,age,job,departmen,clas,phone,address; Statement stm; String st
15、r; int j=0; number=numberText.getText(); name=nameText.getText(); age=ageText.getText(); job=jobText.getText(); departmen=departmenText.getText(); clas=classText.getText(); phone=phoneText.getText(); address=addressText.getText(); str=insertintodata1 values(+number+,+name+,+age+,+job+,+departmen+,+c
16、las+, +phone+,+address+); if(number.equals() else try /加载驱动 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /连接数据源 forStu Connection con=DriverManager.getConnection(jdbc:odbc:forStu,); stm=con.createStatement(); j=stm.executeUpdate(str); con.close(); catch (ClassNotFoundException e1) catch (SQLException e1) / jd=new JDialog(); jd.setLayout(new GridLayout(2,1); jd.setSize(255,100); JPanel p1=new JPanel(); JPanel p2=new JPanel(); jd.add(p1); jd.ad