java课程设计报告选修课管理系统1

上传人:沈*** 文档编号:139978213 上传时间:2022-08-22 格式:DOC 页数:41 大小:446.50KB
收藏 版权申诉 举报 下载
java课程设计报告选修课管理系统1_第1页
第1页 / 共41页
java课程设计报告选修课管理系统1_第2页
第2页 / 共41页
java课程设计报告选修课管理系统1_第3页
第3页 / 共41页
资源描述:

《java课程设计报告选修课管理系统1》由会员分享,可在线阅读,更多相关《java课程设计报告选修课管理系统1(41页珍藏版)》请在装配图网上搜索。

1、目 录1项目背景12用例图13类图54界面设计6系统界面6功能界面65数据库设计96源程序10类10StudentJFrame类12AddJFrame类15 QueryJFrame类21CancelJFrame类25ModifyJFrame类28DaoFactory类35StudentDao类36 StudentDaoJDBCImpl类36MsSqlHelper类397总结401项目背景本设计的目的是综合面向对象程序设计课程中所学到的知识来开发一个小型的Java应用程序选修课管理系统。本项目是选修课管理系统的一个子模块,主要功能是对学生的信息进行管理,如:插入一条学生的信息、删除学生信息、修改

2、学生信息、查询学生信息。本项目使用Java Swing技术,数据库采用SQLServer 2000,本项目的开发和测试都是在Windows平台下进行的,但由于Java的跨平台性,本系的移植性很强,也适用于其它主流的操作系统。本项目的开发工具是My Eclipse,连接数据库SQLServer2000来完成一个小的学生选修课管理系统中的学生信息管理模块。2用例图功能级用例描述添加学生信息描述项说明用例名称添加学生信息用例简述管理员添加学生的基本信息用例图前置条件管理员已成功登入后置条件学生信息被添加基本操作流程1输入“学生姓名”,“学生学号”,“学生年龄”,选择“学生性别”2点击“提交”按钮3

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

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

5、学生信息查询功能:能通过一个学生的学号来查询某一个学生,如下图图查询一个学生信息删除学生信息后的数据库的一个截图如下4.6:图4.6 数据库5数据库设计6源程序Student类/信管071郑胜楠2007021236package domain;public class Student /student类用五个实例变量来描述private Integer studentId;private Intege studentNo;private String studentName;private String studentSex;private int studentAge;/建立构造器, 因需s

6、tudentId自动生成,所以写三个构造器public Student() super();public Student(Integer studentId, Intege studentNo, String studentName,String studentSex ,int studentAge) super(); this.studentId = studentId;this.studentNo = studentNo;this.studentName = studentName;this.studentSex = studentSex;this.studentAge = student

7、Age; public Student(Intege studentNo, String studentName, String studentSex,int studentAge) super();this.studentNo = studentNo;this.studentName = studentName;this.studentSex = studentSex;this.studentAge = studentAge;public String getStudentSex() return studentSex;public void setStudentSex(String stu

8、dentSex) this.studentSex = studentSex;public Integer getStudentId() return studentId;public void setStudentId(Integer studentId) this.studentId = studentId;public String getStudentNo() return studentNo;public void setStudentNo(Intege studentNo) this.studentNo = studentNo;public String getStudentName

9、() return studentName;public void setStudentName(String studentName) this.studentName = studentName;public int getStudentAge() return studentAge;public void setStudentAge(int studentAge) this.studentAge = studentAge;Overridepublic String toString() / TODO Auto-generated method stubreturn + this.stud

10、entId + , + this.studentNo + ,+ this.studentName + , + this.studentSex+,+this.studentAge + ; StudentJFrame类第一个界面(主界面)的建立/信管071郑胜楠2007021236package jframe;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import jav

11、ax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;public class StudentJFrame extends javax.swing.JFrame private JPanel titlePanel;private JLabel titleLabel;private JButton jButton1;private JButton jButton4;privat

12、e JButton jButton3;private JButton jButton2;private JPanel mainPanel;public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run() StudentJFrame inst = new StudentJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true););public StudentJFrame() super(学生选修课管理

13、系统);initGUI();private void initGUI() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);getContentPane().setForeground(new java.awt.Color(0,0,255);/标题PaneltitlePanel = new JPanel();getContentPane().add(titlePanel, BorderLayout.NORTH);titlePanel.setPreferredSize(new java.awt.Dimension(384

14、, 91);titleLabel = new JLabel();titlePanel.add(titleLabel);titleLabel.setText(u6b22u8fceu8fdbu5165u5b66u751fu9009u4feeu8bfeu7ba1u7406u7cfbu7edf);titleLabel.setPreferredSize(new java.awt.Dimension(279, 68);titleLabel.setFont(new java.awt.Font(微软雅黑,1,18);titleLabel.setForeground(new java.awt.Color(0,0

15、,255);/选择PanelmainPanel = new JPanel();getContentPane().add(mainPanel, BorderLayout.CENTER);mainPanel.setPreferredSize(new java.awt.Dimension(384, 173);/“添加”按钮jButton1 = new JButton();mainPanel.add(jButton1);jButton1.setText(u6dfbu52a0);jButton1.setPreferredSize(new java.awt.Dimension(83, 36);jButto

16、n1.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.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) System.ou

17、t.println(jButton1.actionPerformed, event=+evt); AddJFrame add=new AddJFrame();StudentJFrame.this.setVisible(false););/“查找”按钮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

18、);jButton2.setForeground(new java.awt.Color(0,255,0);jButton2.setPreferredSize(new java.awt.Dimension(83, 37);/注册“查询”按钮的监听器jButton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton2.actionPerformed, event=+evt);QueryJFrame query=new Query

19、JFrame();StudentJFrame.this.setVisible(false););/“修改”按钮jButton3 = new 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.setPre

20、ferredSize(new java.awt.Dimension(83, 36);jButton3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton2.actionPerformed, event=+evt);ModifyJFrame mj=new ModifyJFrame();mj.setVisible(true);StudentJFrame.this.setVisible(false););/“删除”按钮jButton

21、4 = new JButton();mainPanel.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.addActionLi

22、stener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton4.actionPerformed, event=+evt);CancelJFrame cjf=new CancelJFrame();StudentJFrame.this.setVisible(false);cjf.setVisible(true););pack();setSize(400, 300); catch (Exception e) e.printStackTrace(); AddJFra

23、me类用于添加学生/信管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.DefaultComboBoxModel;import javax.swing.

24、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;import javax.swing.WindowCons

25、tants;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 JText

26、Field 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

27、;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(添加学

28、生信息);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();titlePan

29、el1.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.setPre

30、ferredSize(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.

31、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 ActionListener() public void actionPerfo

32、rmed(ActionEvent evt) System.out.println(tjButton1.actionPerformed, event=+evt);/把添加的信息传给DaoFactory中getStudentDao里的addStudent方法中的相应参数Student student = new Student();student.setStudentName(nameTextField1.getText(); student.setStudentNo(Integer.parseInt(noTextField1.getText();student.setStudentSex(sex

33、);student.setStudentAge(Integer.parseInt(jTextField1.getText(); System.out.println(*+nameTextField1.getText(); /起测试作用try DaoFactory.getInstance().getStudentDao().addStudent(student); catch (Exception e) e.printStackTrace();/成功添加提示JOptionPane.showMessageDialog(null, 成功添加,JOptionPane.INFORMATION_MESSA

34、GE););/空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 java.awt.Font(微软雅黑,1,14);fqButton1.setPreferred

35、Size(new java.awt.Dimension(75, 27);/注册“放弃”按钮的监听器,重回主界面fqButton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(fqButton1.actionPerformed, event=+evt);StudentJFrame sjf=new StudentJFrame();sjf.setVisible(true);AddJFrame.this.setVisible(false);)

36、;mainPanel1 = new JPanel();getContentPane().add(mainPanel1, BorderLayout.CENTER);ButtonGroup bgp=new ButtonGroup();mainPanel1.setPreferredSize(new java.awt.Dimension(235, 170);/姓名标签和文本框nameLabel1 = new JLabel();mainPanel1.add(nameLabel1);nameLabel1.setText(u59d3u540d);nameLabel1.setPreferredSize(new

37、 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);/学号标签和文本框noLabel1 = new JLabel();mainPanel1.add(noLabel1);noLabel1.setText(u5b66u53f7);noLabel1

38、.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(u6027u5

39、22b);sexLabel1.setFont(new java.awt.Font(微软雅黑,0,14);sexLabel1.setPreferredSize(new java.awt.Dimension(50, 22);/”男“,”女“单选框的设置manRadioButton1 = new JRadioButton();mainPanel1.add(manRadioButton1);bgp.add(manRadioButton1); /把单选框加到ButtonGroup中manRadioButton1.setText(u7537);manRadioButton1.setPreferredSiz

40、e(new java.awt.Dimension(57, 23);manRadioButton1.addItemListener(this);womenRadioButton1 = new JRadioButton();mainPanel1.add(womenRadioButton1);bgp.add(womenRadioButton1); /把单选框加到ButtonGroup中womenRadioButton1.setText(u5973); womenRadioButton1.setPreferredSize(new java.awt.Dimension(68, 22);womenRadi

41、oButton1.addItemListener(this);/年龄标签和文本框jLabel2 = new JLabel();mainPanel1.add(jLabel2);jLabel2.setText(u5e74u9f84);jLabel2.setFont(new java.awt.Font(微软雅黑,0,14);jLabel2.setPreferredSize(new java.awt.Dimension(46, 22);jTextField1 = new JTextField();mainPanel1.add(jTextField1);jTextField1.setPreferredS

42、ize(new java.awt.Dimension(132, 31);pack();pack(); catch (Exception e) e.printStackTrace(); /设置单选框所选内容以备“性别”的监听器把内容返回给数据库public void itemStateChanged(ItemEvent e) / TODO Auto-generated method stubif(manRadioButton1.isSelected()sex=男; if(womenRadioButton1.isSelected()sex=女; QueryJFrame 类用于查询学生package

43、 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.swing.JSpinner;import javax.swing.JTextField;import javax.swing.SpinnerListModel;import javax.swing.

44、WindowConstants;import javax.swing.SwingUtilities;import dao.DaoFactory;import domain.Student;public class QueryJFrame extends javax.swing.JFrame private JPanel titlePanel2;private JButton qdButton2;private JTextField noTextField2;private JLabel ageLabel2;private JTextField ageTextField2;private JTe

45、xtField sexTextField2;private JButton bacdButton2;private JPanel backPanel2;private JLabel sexLabel2;private JTextField nameTextField2;private JLabel nameLabel2;private JLabel queryLabel2;private JPanel mainPanel2;private JLabel queryLabel;/* Auto-generated main method to display this JFrame*/public

46、 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(

47、WindowConstants.DISPOSE_ON_CLOSE);/标题块,提示titlePanel2 = new JPanel();getContentPane().add(titlePanel2, BorderLayout.NORTH);titlePanel2.setPreferredSize(new java.awt.Dimension(384, 58);queryLabel = new JLabel();titlePanel2.add(queryLabel);queryLabel.setText(u8bf7u8f93u5165u8981u67e5u627eu7684u5b66u751

48、fu5b66u53f7);queryLabel.setPreferredSize(new java.awt.Dimension(166, 70);queryLabel.setFont(new java.awt.Font(微软雅黑,0,14);/输入要查找的学生学号noTextField2 = new JTextField();titlePanel2.add(noTextField2);noTextField2.setPreferredSize(new java.awt.Dimension(116, 33);/查询qdButton2 = new JButton();titlePanel2.add

49、(qdButton2);qdButton2.setText(u786eu5b9a);qdButton2.setPreferredSize(new java.awt.Dimension(73, 35);qdButton2.setFont(new java.awt.Font(微软雅黑,1,14);/查询监听器qdButton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(qdButton2.actionPerformed, event=+

50、evt); int studentNo=Integer.parseInt(noTextField2.getText();/转化类型Student student=new Student();try /从Factory中调用StudentDao中的通过学号查找方法查询学生student=DaoFactory.getInstance().getStudentDao().selectByStudentNo(studentNo);/把从数据库中返回的内容传给文本框nameTextField2.setText(student.getStudentName();sexTextField2.setText(

51、student.getStudentSex();ageTextField2.setText(+student.getStudentAge(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace(););/查询结果界面mainPanel2 = new JPanel();getContentPane().add(mainPanel2, BorderLayout.CENTER);mainPanel2.setPreferredSize(new java.awt.Dimension(384, 160);query

52、Label2 = new JLabel();mainPanel2.add(queryLabel2);queryLabel2.setText(u60a8u6240u67e5u627eu7684u5b66u751fu4fe1u606f);queryLabel2.setPreferredSize(new java.awt.Dimension(318, 37);queryLabel2.setFont(new java.awt.Font(微软雅黑,0,14);queryLabel2.setForeground(new java.awt.Color(0,0,255);nameLabel2 = new JL

53、abel();mainPanel2.add(nameLabel2);nameLabel2.setText(u59d3u540d);nameLabel2.setPreferredSize(new java.awt.Dimension(121, 17);nameLabel2.setFont(new java.awt.Font(微软雅黑,0,14);nameTextField2 = new JTextField();mainPanel2.add(nameTextField2);nameTextField2.setPreferredSize(new java.awt.Dimension(185, 32);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!