java课程设计报告-选修课管理系统_第1页
java课程设计报告-选修课管理系统_第2页
java课程设计报告-选修课管理系统_第3页
java课程设计报告-选修课管理系统_第4页
java课程设计报告-选修课管理系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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郑胜楠package domain;public class Student /student类用五个实例变量来描述private Integer s

6、tudentId;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.studentId = s

7、tudentId;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.studentSex = stu

8、dentSex;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 getStuden

9、tNo() 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 setStudentAge(int stud

10、entAge) 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郑胜楠package jframe;import java.awt.BorderLayout;imp

11、ort 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 extends javax.swing.J

12、Frame 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() StudentJFrame inst =

13、 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);/标题PaneltitlePanel = new JP

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

15、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);/“添加”按钮jButton1 = new JButton();ma

16、inPanel.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);/注册“添加”按钮的监听器,进行两个界面间的转换jButton1.addAction

17、Listener(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););/“查找”按钮jButton2 = ne

18、w 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);/注册“查询”按钮的监听器jButton2.addAct

19、ionListener(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 JButton();mainPanel.

20、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(new ActionListener()

21、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();mainPanel.add(jButton4);

22、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 ActionListener() public void ac

23、tionPerformed(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.printStackTrace();6.

24、3 AddJFrame类用于添加学生/信管071郑胜楠package 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.DefaultComboBoxModel;import javax.swing.J

25、Button;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;import javax.swing.WindowConst

26、ants;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 JLabel titleLabel1;private JTextF

27、ield 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 JRadioButton manRadioButton1;

28、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););public AddJFrame() super(添加学生

29、信息);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);titleLabel1 = new JLabel();titlePane

30、l1.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, BorderLayout.WEST);westPanel1.setPref

31、erredSize(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);southPanel1.setPreferredSize(new java.a

32、wt.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 ActionListener() public void actionPerfor

33、med(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.setStudentNo(Integer.parseInt(

34、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();/成功添加提示JOptionPane.showMessag

35、eDialog(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(u653eu5f03);fqButton1.setFont(new

36、 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 code for fqButton1.actionPerfo

37、rmedStudentJFrame 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, 170);/姓名标签和文本框nameLabel1 = new J

38、Label();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(new java.awt.Dimension(132, 34

39、);/学号标签和文本框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.Dime

40、nsion(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 JRadioButton();mainPanel1.add(manRadioButton1);bgp.add(ma

41、nRadioButton1); /把单选框加到ButtonGroup中manRadioButton1.setText(u7537);manRadioButton1.setPreferredSize(new java.awt.Dimension(57, 23);manRadioButton1.addItemListener(this);womenRadioButton1 = new JRadioButton();mainPanel1.add(womenRadioButton1);bgp.add(womenRadioButton1); /把单选框加到ButtonGroup中womenRadioBu

42、tton1.setText(u5973); womenRadioButton1.setPreferredSize(new java.awt.Dimension(68, 22);womenRadioButton1.addItemListener(this);/年龄标签和文本框jLabel2 = new JLabel();mainPanel1.add(jLabel2);jLabel2.setText(u5e74u9f84);jLabel2.setFont(new java.awt.Font(微软雅黑,0,14);jLabel2.setPreferredSize(new java.awt.Dimen

43、sion(46, 22);jTextField1 = new JTextField();mainPanel1.add(jTextField1);jTextField1.setPreferredSize(new java.awt.Dimension(132, 31);pack();pack(); catch (Exception e) e.printStackTrace(); /设置单选框所选内容以备“性别”的监听器把内容返回给数据库public void itemStateChanged(ItemEvent e) / TODO Auto-generated method stubif(manR

44、adioButton1.isSelected()sex=男; if(womenRadioButton1.isSelected()sex=女; 6.4 QueryJFrame 类用于查询学生package jframe;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax

45、.swing.JSpinner;import javax.swing.JTextField;import javax.swing.SpinnerListModel;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;import dao.DaoFactory;import domain.Student;public class QueryJFrame extends javax.swing.JFrame private JPanel titlePanel2;private JButton qdButton2;

46、private JTextField noTextField2;private JLabel ageLabel2;private JTextField ageTextField2;private JTextField sexTextField2;private JButton bacdButton2;private JPanel backPanel2;private JLabel sexLabel2;private JTextField nameTextField2;private JLabel nameLabel2;private JLabel queryLabel2;private JPa

47、nel mainPanel2;private JLabel queryLabel;/* Auto-generated main method to display this JFrame*/public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run() QueryJFrame inst = new QueryJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true););public QueryJFrame() super(查找);initGUI();this.setVisible(true);private void initGUI() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);/标题块,提示titlePanel2 = new JPanel();getContentPane().add(titlePanel2, BorderLayout.NORTH);titlePanel2.setPreferredSize(new java.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论