java课程设计报告-选修课管理系统.doc

上传人:来看看 文档编号:3258276 上传时间:2019-08-06 格式:DOC 页数:41 大小:524.03KB
返回 下载 相关 举报
java课程设计报告-选修课管理系统.doc_第1页
第1页 / 共41页
java课程设计报告-选修课管理系统.doc_第2页
第2页 / 共41页
java课程设计报告-选修课管理系统.doc_第3页
第3页 / 共41页
java课程设计报告-选修课管理系统.doc_第4页
第4页 / 共41页
java课程设计报告-选修课管理系统.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《java课程设计报告-选修课管理系统.doc》由会员分享,可在线阅读,更多相关《java课程设计报告-选修课管理系统.doc(41页珍藏版)》请在三一文库上搜索。

1、目 录1项目背景12用例图13类图54界面设计64.1系统界面64.2功能界面65数据库设计96源程序106.1Student类106.2StudentJFrame类126.3AddJFrame类156.4 QueryJFrame类216.5CancelJFrame类256.6ModifyJFrame类286.7DaoFactory类356.8StudentDao类366.9 StudentDaoJDBCImpl类366.10MsSqlHelper类397总结401项目背景本设计的目的是综合面向对象程序设计课程中所学到的知识来开发一个小型的Java应用程序选修课管理系统。本项目是选修课管理系统

2、的一个子模块,主要功能是对学生的信息进行管理,如:插入一条学生的信息、删除学生信息、修改学生信息、查询学生信息。本项目使用Java Swing技术,数据库采用SQLServer 2000,本项目的开发和测试都是在Windows平台下进行的,但由于Java的跨平台性,本系的移植性很强,也适用于其它主流的操作系统。本项目的开发工具是My Eclipse,连接数据库SQLServer2000来完成一个小的学生选修课管理系统中的学生信息管理模块。2用例图图2.1用例图功能级用例描述添加学生信息描述项说明用例名称添加学生信息用例简述管理员添加学生的基本信息用例图前置条件管理员已成功登入后置条件学生信息被

3、添加基本操作流程1输入“学生姓名”,“学生学号”,“学生年龄”,选择“学生性别”2点击“提交”按钮3 “成功添加”点击“确定”或关闭窗口则返回主页面 替代流程无功能级用例描述查询学生信息描述项说明用例名称查询学生信息用例简述管理员查询学生的基本信息用例图前置条件管理员已成功添加学生信息并成功登入查询页面后置条件学生信息被查询基本操作流程1输入需查找的“学生学号” 2点击“确定”按钮3 点击“返回”或关闭窗口则返回主页面 替代流程无功能级用例描述修改学生信息描述项说明用例名称修改学生信息用例简述管理员修改学生的基本信息用例图前置条件管理员已成功查询所需修改学生信息后置条件学生信息被修改基本操作流

4、程1输入需修改的“学生学号” 2点击“修改”按钮3 点击“返回”或关闭窗口则返回主页面替代流程无功能级用例描述删除学生信息描述项说明用例名称删除学生信息用例简述管理员删除学生的基本信息用例图前置条件管理员已成功查询所需修改学生信息后置条件学生信息被删除基本操作流程1输入需删除的“学生学号” 2点击“删除”按钮3 “删除成功”点击“确定”或关闭窗口则返回主页面替代流程无3类图图3.1类图4界面设计4.1系统界面进入学生信息管理系统,将会看到以下的窗口,如4.1所示:图4.1主界面4.2功能界面在学生信息管理系统里面可以实现插入一条学生的信息、删除学生信息、修改学生信息、查询学生信息的功能。插入功

5、能,能新插入一条学生信息,包括学生的学号和姓名,性别和年龄,如下图4.2图4.2插入一条学生信息修改功能:能修改一个学生的姓名。如下图4.3图4.3修改一个学生信息删除功能:能根据一个学生的学号来删除一个学生的信息。如下图4.6图4.4删除一个学生信息查询功能:能通过一个学生的学号来查询某一个学生,如下图4.5图4.5查询一个学生信息删除学生信息后的数据库的一个截图如下4.6:图4.6 数据库5数据库设计6源程序6.1Student类/信管071郑胜楠2007021236package domain;public class Student /student类用五个实例变量来描述private

6、 Integer studentId;private Intege studentNo;private String studentName;private String studentSex;private int studentAge;/建立构造器, 因需studentId自动生成,所以写三个构造器public Student() super();public Student(Integer studentId, Intege studentNo, String studentName,String studentSex ,int studentAge) super(); this.stu

7、dentId = studentId;this.studentNo = studentNo;this.studentName = studentName;this.studentSex = studentSex;this.studentAge = studentAge; public Student(Intege studentNo, String studentName, String studentSex,int studentAge) super();this.studentNo = studentNo;this.studentName = studentName;this.studen

8、tSex = studentSex;this.studentAge = studentAge;public String getStudentSex() return studentSex;public void setStudentSex(String studentSex) this.studentSex = studentSex;public Integer getStudentId() return studentId;public void setStudentId(Integer studentId) this.studentId = studentId;public String

9、 getStudentNo() return studentNo;public void setStudentNo(Intege studentNo) this.studentNo = studentNo;public String getStudentName() return studentName;public void setStudentName(String studentName) this.studentName = studentName;public int getStudentAge() return studentAge;public void setStudentAg

10、e(int studentAge) this.studentAge = studentAge;Overridepublic String toString() / TODO Auto-generated method stubreturn + this.studentId + , + this.studentNo + ,+ this.studentName + , + this.studentSex+,+this.studentAge + ;6.2 StudentJFrame类第一个界面(主界面)的建立/信管071郑胜楠2007021236package jframe;import java.

11、awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;public class StudentJFrame e

12、xtends javax.swing.JFrame private JPanel titlePanel;private JLabel titleLabel;private JButton jButton1;private JButton jButton4;private JButton jButton3;private JButton jButton2;private JPanel mainPanel;public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run()

13、StudentJFrame inst = new StudentJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true););public StudentJFrame() super(学生选修课管理系统);initGUI();private void initGUI() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);getContentPane().setForeground(new java.awt.Color(0,0,255);/标题Pane

14、ltitlePanel = new JPanel();getContentPane().add(titlePanel, BorderLayout.NORTH);titlePanel.setPreferredSize(new java.awt.Dimension(384, 91);titleLabel = new JLabel();titlePanel.add(titleLabel);titleLabel.setText(u6b22u8fceu8fdbu5165u5b66u751fu9009u4feeu8bfeu7ba1u7406u7cfbu7edf);titleLabel.setPreferr

15、edSize(new java.awt.Dimension(279, 68);titleLabel.setFont(new java.awt.Font(微软雅黑,1,18);titleLabel.setForeground(new java.awt.Color(0,0,255);/选择PanelmainPanel = new JPanel();getContentPane().add(mainPanel, BorderLayout.CENTER);mainPanel.setPreferredSize(new java.awt.Dimension(384, 173);/“添加”按钮jButton

16、1 = new JButton();mainPanel.add(jButton1);jButton1.setText(u6dfbu52a0);jButton1.setPreferredSize(new java.awt.Dimension(83, 36);jButton1.setFont(new java.awt.Font(微软雅黑,1,14);jButton1.setForeground(new java.awt.Color(0,255,0);jButton1.setBackground(new java.awt.Color(0,128,128);/注册“添加”按钮的监听器,进行两个界面间的

17、转换jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) System.out.println(jButton1.actionPerformed, event=+evt);/TODO add your code for jButton1.actionPerformed AddJFrame add=new AddJFrame();StudentJFrame.this.setVisible(false););

18、/“查找”按钮jButton2 = new JButton();mainPanel.add(jButton2);jButton2.setText(u67e5u627e);jButton2.setBackground(new java.awt.Color(0,128,128);jButton2.setFont(new java.awt.Font(微软雅黑,1,14);jButton2.setForeground(new java.awt.Color(0,255,0);jButton2.setPreferredSize(new java.awt.Dimension(83, 37);/注册“查询”按

19、钮的监听器jButton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton2.actionPerformed, event=+evt);/TODO add your code for jButton2.actionPerformedQueryJFrame query=new QueryJFrame();StudentJFrame.this.setVisible(false););/“修改”按钮jButton3 = new

20、JButton();mainPanel.add(jButton3);jButton3.setText(u4feeu6539);jButton3.setBackground(new java.awt.Color(0,128,128);jButton3.setFont(new java.awt.Font(微软雅黑,1,14);jButton3.setForeground(new java.awt.Color(255,255,0);jButton3.setPreferredSize(new java.awt.Dimension(83, 36);jButton3.addActionListener(n

21、ew ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton2.actionPerformed, event=+evt);/TODO add your code for jButton2.actionPerformedModifyJFrame mj=new ModifyJFrame();mj.setVisible(true);StudentJFrame.this.setVisible(false););/“删除”按钮jButton4 = new JButton();main

22、Panel.add(jButton4);jButton4.setText(u5220u9664);jButton4.setBackground(new java.awt.Color(0,128,128);jButton4.setFont(new java.awt.Font(微软雅黑,1,14);jButton4.setForeground(new java.awt.Color(255,255,0);jButton4.setPreferredSize(new java.awt.Dimension(83, 37);jButton4.addActionListener(new ActionListe

23、ner() public void actionPerformed(ActionEvent evt) System.out.println(jButton4.actionPerformed, event=+evt);/TODO add your code for jButton4.actionPerformedCancelJFrame cjf=new CancelJFrame();StudentJFrame.this.setVisible(false);cjf.setVisible(true););pack();setSize(400, 300); catch (Exception e) e.

24、printStackTrace();6.3 AddJFrame类用于添加学生/信管071郑胜楠2007021236package jframe;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.ButtonGroup;import javax.swing.DefaultComb

25、oBoxModel;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JSpinner;import javax.swing.JTextField;import javax.swing.ListModel;import javax.swing.SpinnerListModel;

26、import javax.swing.WindowConstants;import javax.swing.SwingUtilities;import dao.DaoFactory;import domain.Student;public class AddJFrame extends javax.swing.JFrame implements ItemListener private JPanel titlePanel1;private JLabel jLabel2;private JButton fqButton1;private JButton tjButton1;private JLa

27、bel titleLabel1;private JTextField jTextField1;private JLabel sexLabel1;private JLabel noLabel1;private JTextField noTextField1;private JTextField nameTextField1;private JLabel nameLabel1;private JPanel southPanel1;private JPanel mainPanel1;private JPanel eastPanel1;private JPanel westPanel1;private

28、 JRadioButton manRadioButton1;private JRadioButton womenRadioButton1;private JLabel kongLabel3;private String sex;public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run() AddJFrame inst = new AddJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true);)

29、;public AddJFrame() super(添加学生信息);initGUI();this.setVisible(true);private void initGUI() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);titlePanel1 = new JPanel();getContentPane().add(titlePanel1, BorderLayout.NORTH);titlePanel1.setPreferredSize(new java.awt.Dimension(384, 65);titleL

30、abel1 = new JLabel();titlePanel1.add(titleLabel1);titleLabel1.setText(u8bf7u8f93u5165u5b66u751fu4fe1u606f);titleLabel1.setPreferredSize(new java.awt.Dimension(124, 34);titleLabel1.setFont(new java.awt.Font(微软雅黑,0,16);/东,西两块空panel,美观作用westPanel1 = new JPanel();getContentPane().add(westPanel1, BorderL

31、ayout.WEST);westPanel1.setPreferredSize(new java.awt.Dimension(72, 211);eastPanel1 = new JPanel();getContentPane().add(eastPanel1, BorderLayout.EAST);eastPanel1.setPreferredSize(new java.awt.Dimension(89, 169);southPanel1 = new JPanel();getContentPane().add(southPanel1, BorderLayout.SOUTH);southPane

32、l1.setPreferredSize(new java.awt.Dimension(384, 70);/提交按钮tjButton1 = new JButton();southPanel1.add(tjButton1);tjButton1.setText(u63d0u4ea4);tjButton1.setPreferredSize(new java.awt.Dimension(76, 27);tjButton1.setFont(new java.awt.Font(微软雅黑,1,14);/注册“提交”按钮监听器tjButton1.addActionListener(new ActionListe

33、ner() public void actionPerformed(ActionEvent evt) System.out.println(tjButton1.actionPerformed, event=+evt);/TODO add your code for tjButton1.actionPerformed/把添加的信息传给DaoFactory中getStudentDao里的addStudent方法中的相应参数Student student = new Student();student.setStudentName(nameTextField1.getText(); student.

34、setStudentNo(Integer.parseInt(noTextField1.getText();student.setStudentSex(sex);student.setStudentAge(Integer.parseInt(jTextField1.getText(); System.out.println(*+nameTextField1.getText(); /起测试作用try DaoFactory.getInstance().getStudentDao().addStudent(student); catch (Exception e) e.printStackTrace()

35、;/成功添加提示JOptionPane.showMessageDialog(null, 成功添加,JOptionPane.INFORMATION_MESSAGE););/空label用来调提交和放弃按钮的距离,美观作用kongLabel3 = new JLabel();southPanel1.add(kongLabel3);kongLabel3.setPreferredSize(new java.awt.Dimension(22, 9);/放弃按钮fqButton1 = new JButton();southPanel1.add(fqButton1);fqButton1.setText(u65

36、3eu5f03);fqButton1.setFont(new java.awt.Font(微软雅黑,1,14);fqButton1.setPreferredSize(new java.awt.Dimension(75, 27);/注册“放弃”按钮的监听器,重回主界面fqButton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(fqButton1.actionPerformed, event=+evt);/TODO add your

37、code for fqButton1.actionPerformedStudentJFrame sjf=new StudentJFrame();sjf.setVisible(true);AddJFrame.this.setVisible(false););mainPanel1 = new JPanel();getContentPane().add(mainPanel1, BorderLayout.CENTER);ButtonGroup bgp=new ButtonGroup();mainPanel1.setPreferredSize(new java.awt.Dimension(235, 17

38、0);/姓名标签和文本框nameLabel1 = new JLabel();mainPanel1.add(nameLabel1);nameLabel1.setText(u59d3u540d);nameLabel1.setPreferredSize(new java.awt.Dimension(46, 38);nameLabel1.setFont(new java.awt.Font(微软雅黑,0,14);nameTextField1 = new JTextField();mainPanel1.add(nameTextField1);nameTextField1.setPreferredSize(

39、new java.awt.Dimension(132, 34);/学号标签和文本框noLabel1 = new JLabel();mainPanel1.add(noLabel1);noLabel1.setText(u5b66u53f7);noLabel1.setFont(new java.awt.Font(微软雅黑,0,14);noLabel1.setPreferredSize(new java.awt.Dimension(46, 19);noTextField1 = new JTextField();mainPanel1.add(noTextField1);noTextField1.setPreferredSize(new java.awt.Dimension(132, 31);/ 性别标签sexLabel1 = new JLabel();mainPanel1.add(sexLabel1);sexLabel1.setText(u6027u522b);sexLabel1.setFont(new java.awt.Font(微软雅黑,0,14);sexLabel1.setPreferredSize(new java.awt.Dimension(50, 22);/”男“,”女“单选框的设置manRadioButton1 = new JRadioB

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1