JAVA 面向对象程序设计 学生个人信息管理系统.docx

上传人:小飞机 文档编号:4885606 上传时间:2023-05-21 格式:DOCX 页数:30 大小:168.47KB
返回 下载 相关 举报
JAVA 面向对象程序设计 学生个人信息管理系统.docx_第1页
第1页 / 共30页
JAVA 面向对象程序设计 学生个人信息管理系统.docx_第2页
第2页 / 共30页
JAVA 面向对象程序设计 学生个人信息管理系统.docx_第3页
第3页 / 共30页
JAVA 面向对象程序设计 学生个人信息管理系统.docx_第4页
第4页 / 共30页
JAVA 面向对象程序设计 学生个人信息管理系统.docx_第5页
第5页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVA 面向对象程序设计 学生个人信息管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA 面向对象程序设计 学生个人信息管理系统.docx(30页珍藏版)》请在三一办公上搜索。

1、皿9折SZ殴蕾StW 救DIP耕ml曜w胃目录1设计时间42设计目的43设计任务44设计内容44.1需求分析44.1.1问题描述44.1.2基本要求44.2总体设计54.2.1包的描述74.2.2类的描述84.2.3类之间的关系9类 MainTest 继承 JFrame。9类 jenter 实现接口 ActionListener。94.3详细设计94.3.1 类图134.3.2页面设计134.4测试与分析134.5程序代码155总结与展望30参考文献大31课程设计成绩评定321设计时间2012年6月13日6月19日2设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完

2、该 课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的 理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力3设计任务设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。要 求如下:(1) 具有简单的录入,查询和修改功能。(2) 修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3) 使用文件存储数据。(也可用数据库)(4) 学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我 简介,其余可自行丰富。4设计内容4

3、.1需求分析学生管理系统需要对学生的基本信息进行简单的录入,查询,修改三项基本功能。具体 实现使用Access2003数据库实现基本操作,前台窗口使用GUI编程创建图形界面,对图形界 面的窗口和按钮进行事件监听,执行相应的SQL语句。4.1.1问题描述设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。4.1.2基本要求(1) 具有简单的录入,查询和修改功能。(2) 修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3) 使用文件存储数据。(4) 学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。(5) 具有对姓名

4、,出生日期和身份证号进行简单效验的功能。4.2总体设计1、自定义类说明:(1) 类名:MainTest作用:主类,构建主界面继承的父类:Jframe主要实现接口: ActionListener主要成员变量:private JPanel ContentPane;private JButton Insert = new JButton();private JButton Select = new JButton();private JButton Update = new JButton();内部类:MainTest_actionPerformed,主页面的事件监听。jenter_ actionP

5、erformed,按钮的事件监听。主要成员方法:public MainTest()public static void main(String args)(2) 类名:Insert作用:实现添加个人信息继承的父类:Jframe主要实现接口: ActionListener主要成员变量:private JPanel ContentPane;private JLabel jlab1 = new JLabel();private JLabel jlab2 = new JLabel();private JLabel jlab3 = new JLabel();private JLabel jlab4 =

6、new JLabel();private JLabel jlab5 = new JLabel();private JLabel jlab6= new JLabel();private JLabel jlab7 = new JLabel();private JLabel jlab8 = new JLabel();private JTextField jtextfieldl = new JTextField();private JTextField jtextfield2 = new JTextField();private JTextField jtextfield3 = new JTextFi

7、eld();private JTextField jtextfield4 = new JTextField();private JTextField jtextfield5 = new JTextField();private JComboBox jcombobox1 = new JComboBox();private JComboBox jcombobox2 = new JComboBox();private JTextArea jtextarea = new JTextArea();private JButton sure = new JButton();内部类:sure_actionpe

8、rformed,按钮的事件监听,实现对数据的插入。主要成员方法:public Insert();(3)类名:Update作用:对个人信息进行修改。继承的父类:Jframe主要实现接口: ActionListener主要成员变量:private JPanel ContentPane;private JLabel jlab1 = new JLabel();private JLabel jlab2 = new JLabel();private JLabel jlab3 = new JLabel();private JLabel jlab4 = new JLabel();private JLabel

9、jlab5 = new JLabel();private JTextField jtextfield1 = new JTextField();private JTextField jtextfield2 = new JTextField();private JTextField jtextfield3 = new JTextField();private JTextField jtextfield4 = new JTextField();private JButton sure = new JButton();private JButton upda = new JButton();主要成员方

10、法:public Update()public void actionPerformed(ActionEvent e)(4)类名:Select作用:查询学生个人信息继承的父类:Jframe主要实现接口: ActionListener主要成员变量:private JTextArea taInfo=new JTextArea();private JPanel panel=new JPanel();private JTextField jtextfield1=new JTextField();private JButton jbutton=new JButton(查询);private JLabel

11、 jlabel=new JLabel(学号);主要成员方法:public Select()public void actionPerformed(ActionEvent e)2、主程序流程:图4-2-1主流程图4.2.1包的描述import java.awt.BorderLayout;边界布局勾画出一个容器,其组成部分的安排和调整以 适应在五个区域:北,南,东,西,和中心。import java.awt.Color;颜色类是用于封装在默认成色彩空间的颜色或颜色任意颜色空 间所确定的色彩。import java.awt.Rectangle;一个矩形指定地区在坐标空间是封闭的矩形对象的左上点 (十

12、,年)在空间中的坐标,其宽度和高度。import java.awt.event.ActionEvent;事件一个接口,知道如何调度自己。import java.awt.event.ActionListener;监听器接口接收动作事件。类的感兴趣的事件 处理行动实现此接口的对象,并创建的类是一个注册的组件,使用组件的addactionlistener 方法。行动时,事件发生时,该对象的actionperformed调用方法。import javax.swing.JButton;实施“推”按钮。请参阅 The Java Tutorial 中的信息和 使用按钮的例子如何使用按钮,复选框和单选按钮。i

13、mport javax.swing.JComboBox;实施-一个复选框可以选择或取消的项目,并显示其 状态的用户。按照惯例,任何一组号码复选框可以选择。请参阅如何使用Java教程使用复选 框的例子和信息按钮,复选框和单选按钮。import javax.swing.JFrame;java.awt.Frame 的扩展版本,增加了 JFC / Swing 组件架 构的支持。你可以找到有关节如何使框架,使用Java教程JFrame的面向任务的文档。import javax.swing.JLabel;一个很短的文本字符串或图像的显示区域,或两者兼而有 之。一个标签不输入事件作出反应。因此,它不能获得键

14、盘焦点。然而,标签可以显示附近 的一个组成部分,有一个键盘的替代品,但不能显示它的方便的键盘替代。import javax.swing.JPanel;JPanel的是一个通用的轻量级容器。对于JPanel的任务为 导向的文档和例子,请参阅如何使用面板,Java教程的一个部分。import javax.swing.JTextArea; 一个JTextArea是一个多行的区域,显示纯文本。它的 目的是成为一个轻量级组件,提供与java.awt.TextArea类源代码的兼容性,它可以合理地 这样做。你可以找到在The Java Tutorial中使用的文本组件,部分使用所有文本组件的信 息和例子。

15、import javax.swing.JTextField;JTextField是一个轻量级的组件,它允许在一个单行 文本编辑。对于使用文本字段的信息和例子,请参阅如何使用Java教程的文本字段。4.2.2类的描述JButton:实施推”按钮。请参阅The Java Tutorial中的信息和使用按钮的例子如何 使用按钮,复选框和单选按钮。JLabel: 一个很短的文本字符串或图像的显示区域,或两者兼而有之。一个标签不输入 事件作出反应。因此,它不能获得键盘焦点。然而,标签可以显示附近的一个组成部分,有 一个键盘的替代品,但不能显示它的方便的键盘替代。JTextField:是一个轻量级的组件,

16、它允许在一个单行文本编辑。对于使用文本字段的 信息和例子,请参阅如何使用Java教程的文本字段。JComboBox:相结合的一个按钮或可编辑字段和一个下拉列表组件。用户可以选择从下拉 列表中,出现在用户的请求值。如果您编辑的组合框,组合框包括一个可编辑的字段到,用 户可以键入一个值。Connection:与特定的数据库连接(会话)。执行SQL语句和内连接的情况下返回的结果。 Statement: 一个Statement对象代表一种原始的语句在一个单一的方法应用到一个目标,一 组参数-“a.setFoo(二)”。ResultSet: 一个代表,它通常通过执行查询数据库的语句生成一个数据库结果集的

17、数据 表。包。4.2.3类之间的关系类 MainTest 继承 JFrame。类 jenter 实现接口 ActionListener。类 MainText 实现接口 ActionListener。类 Insert 继承 JFrame。类 Select 继承 JFrame 实现接口 ActionListener。类 Update 继承 JFrame 实现接口 ActionListener。4.3详细设计1、各方法的实现:与数据库的连接:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);String url=jdbc:odbc:学生管理”;Connectio

18、n con=DriverManager.getConnection(url);Statement stmt=con.createStatement();MainTest类中对按钮事件监听的实现:class MainTest_actionPerformed implements ActionListenerMainTest adapte ;MainTest_actionPerformed(MainTest adapte)this.adapte = adapte;public void actionPerformed(ActionEvent e)/*调用窗口程序*/if(e.getSource()

19、=adapte.Insert)Insert insert = new Insert();else if(e.getSource()=adapte.Update)Update update = new Update();else if(e.getSource()=adapte.Select)Select select = new Select();Insert类中添加个人信息的具体实现:public void actionPerformed(ActionEvent e)String SQL=insert into student(学号,姓名,性别,生日,身份证号,专业,班级,简介)values(

20、n+jtextfield1.getText()+n,n+jtextfield2.getText()+n,n+jcombobox1.getSelectedItem()+n,n+jtextfield3.getText()+n,n+jtextfield5.getText()+n,n+jcombobox2.getSelectedItem()+n, E+jtextfield4.getText()+,E+jtextarea.getText()+);ResultSet rs=stmt.executeQuery(SQL);Update类中关于更新学生信息方法的实现:if(e.getSource()=upda)

21、String SQL=UPDATE student SET 姓名=+jtextfield2.getText()+,性别=+jtextfield3.getText()+,专业=+jtextfield4.getText()+WHERE 学号=”+jtextfield1.getText()+E;ResultSet rs=stmt.executeQuery(SQL);rs.close();stmt.close();con.close();Select类中对查询个人信息的实现:public void actionPerformed(ActionEvent e)String SQL=SELECT * FR

22、OM studentWHERE 学号=H+jtextfield1.getText()+n,n;ResultSet rs=stmt.executeQuery(SQL);while(rs.next()taInfo.setText(rs.getString(学号)+n);taInfo.append(rs.getString(姓名)+n);taInfo.append(rs.getString(性别”)+n);taInfo.append(rs.getString(生日”)+n);taInfo.append(rs.getString(身份证号”)+n);taInfo.append(rs.getString

23、(专业”)+n);taInfo.append(rs.getString(班级”)+n);taInfo.append(rs.getString(简介”)+n); 2、数据库表设计:使用Access2003数据库Student 表:字段名类型是否可为空学号文本否姓名文本否性别文本否生日日期/时间否身份证号文本否专业文本否班级文本否简介文本否I乌I萱词字生信思学号 10200102131=1 I LMJ查间4.5程序代码/:object/MainTest.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;/* aut

24、hor LiuMingyan*/public class MainTest extends JFrame/* 声明变量 */ private JPanel ContentPane;private JButton Insert = new JButton();private JButton Select = new JButton();private JButton Update = new JButton();public MainTest()ContentPane = (JPanel)this.getContentPane();ContentPane.setLayout(null);this

25、.setTitle(学生管理系统);this.setBounds(100,200,500,300);ContentPane.setBackground(Color.WHITE);/*3 个按钮的设置*/Insert.setText(添加学生信息”);Insert.setVisible(false);Insert.setBounds(new Rectangle(70, 50, 120, 33);Insert.addActionListener(new MainTest_actionPerformed(this);/加事件监听Insert.setForeground(Color.white);In

26、sert.setBackground(Color.black);Update.setText(修改学生信息);Update.setVisible(false);Update.setBounds(new Rectangle(210, 50,120, 33);Update.addActionListener(new MainTest_actionPerformed(this);/加事件监听Update.setForeground(Color.white);Update.setBackground(Color.black);Select.setText(查询学生信息);Select.setVisib

27、le(false);Select.setBounds(new Rectangle(340, 50, 120, 33);Select.addActionListener(new MainTest_actionPerformed(this);/加事件监听 Select.setForeground(Color.white);Select.setBackground(Color.black);/*把控件添加到面板中去*/ContentPane.add(Insert);ContentPane.add(Update);ContentPane.add(Select);this.setVisible(true

28、);Insert.setVisible(true);Update.setVisible(true);Select.setVisible(true);/*设置动作按钮的监听事件*/ class jenter_actionPerformed implements ActionListenerpublic void actionPerformed(ActionEvent e)设置3个按钮的可见性Insert.setVisible(true);Update.setVisible(true);Select.setVisible(true);/* 主窗口的监听事件 */ class MainTest_ac

29、tionPerformed implements ActionListenerMainTest adapte ;MainTest_actionPerformed(MainTest adapte)this.adapte = adapte; public void actionPerformed(ActionEvent e) /*调用窗口程序*/if(e.getSource()=adapte.Insert)Insert insert = new Insert();else if(e.getSource()=adapte.Update)Update update = new Update();els

30、e if(e.getSource()=adapte.Select)Select select = new Select();public static void main(String args) MainTest maintest=new MainTest ();/ TODO自动生成方法存根/: object/Insert.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;/* author LiuMingyan*/ public class Insert extends

31、JFrame /* 声明变量 */private JPanel ContentPane;private JLabel jlab1 = new JLabel();private JLabel jlab2 = new JLabel();private JLabel jlab3 = new JLabel();private JLabel jlab4 = new JLabel();private JLabel jlab5 = new JLabel();private JLabel jlab6= new JLabel();private JLabel jlab7 = new JLabel();priva

32、te JLabel jlab8 = new JLabel();private JTextField jtextfield1 = new JTextField();private JTextField jtextfield2 = new JTextField();private JTextField jtextfield3 = new JTextField();private JTextField jtextfield4 = new JTextField();private JTextField jtextfield5 = new JTextField();private JComboBox j

33、combobox1 = new JComboBox();private JComboBox jcombobox2 = new JComboBox();private JTextArea jtextarea = new JTextArea();private JButton sure = new JButton();public Insert()this.setBounds(320,160,450,450);this.setTitle(添加学生信息);/窗体标题ContentPane =(JPanel)this.getContentPane();/将容器转化为 JPanelContentPane

34、.setLayout(null);/ 设置可更改性ContentPane.setBackground(Color.black);jlab1.setText(学号);jlab1.setBounds(new Rectangle(30, 11, 51, 33);jlab1.setForeground(Color.white);jlab2.setText(姓名);jlab2.setBounds(new Rectangle(162, 11, 28, 33);jlab2.setForeground(Color.white);jlab3.setText(性别);jlab3.setBounds(new Rec

35、tangle(241, 11, 28, 33);jlab3.setForeground(Color.white);jlab4.setText(出生日期);jlab4.setBounds(new Rectangle(31, 53, 55, 33);jlab4.setForeground(Color.white);jlab5.setText(身份证号);jlab5.setBounds(new Rectangle(163, 94, 55, 33);jlab5.setForeground(Color.white);jlab6.setText(班级,jlab6.setBounds(new Rectang

36、le(163, 53, 26, 33);jlab6.setForeground(Color.white);jlab7.setText(专业);jlab7.setBounds(new Rectangle(30, 94, 50, 33);jlab7.setForeground(Color.white);jlab8.setText(自我介绍);jlab8.setBounds(new Rectangle(30, 120, 66, 33);jlab8.setForeground(Color.white);jtextfield1.setText(nn);/学 号jtextfield1.setBounds(

37、new Rectangle(86, 16, 74, 22);jtextfield2.setText();/姓名jtextfield2.setBounds(new Rectangle(192, 16, 44, 22);jtextfield3.setText();/ 出生日期jtextfield3.setBounds(new Rectangle(86, 58, 74, 22);jtextfield4.setText();/班级jtextfield4.setBounds(new Rectangle(191, 58, 44, 22);jtextfield5.setText(H);/身 份证号jtext

38、field5.setBounds(new Rectangle(230, 98, 158, 22);jcombobox1.setBounds(new Rectangle(275, 15, 50, 25);jcombobox1.addItem(男);jcombobox1.addItem(女);jcombobox1.setForeground(Color.black);jcombobox1.setBackground(Color.white);jcombobox2.setBounds(new Rectangle(86, 98, 75, 25);jcombobox2.addItem(软件);jcomb

39、obox2.addItem(工商);jcombobox2.addItem(电信);jcombobox2.addItem(电控);jcombobox2.addItem(营销);jcombobox2.addItem(安全);jcombobox2.setForeground(Color.black);jcombobox2.setBackground(Color.white);jtextarea.setText();jtextarea.setBounds(new Rectangle(84, 139, 285, 92);sure.setText(添加);/设置命令按钮sure.setBounds(new

40、 Rectangle(156, 244, 89, 22);sure.addActionListener(new sure_actionperformed();/ 设置动作监听ContentPane.add(jlab1);ContentPane.add(jlab2);ContentPane.add(jlab3);ContentPane.add(jlab4);ContentPane.add(jlab5);ContentPane.add(jlab6);ContentPane.add(jlab7);ContentPane.add(jlab8);ContentPane.add(jtextfieldl);

41、ContentPane.add(jtextfield2);ContentPane.add(jtextfield3);ContentPane.add(jtextfield4);ContentPane.add(jtextfield5);ContentPane.add(jcombobox1);ContentPane.add(jcombobox2);ContentPane.add(jtextarea);ContentPane.add(sure);this.setVisible(true);/设置可见性class sure_actionperformed implements ActionListene

42、r /设置动作按钮的监听public void actionPerformed(ActionEvent e) / 创建方法tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);String url=jdbc:odbc:学生管理”;Connection con=DriverManager.getConnection(url);Statement stmt=con.createStatement();String SQL=insert into student(学号,姓名,性别,生日,身份证号,专业,班级,简介)values(+jtextfield1.get

43、Text()+,”+jtextfield2.getText()+,+jcombobox1.getSelectedItem()+,+jtextfield3.getText()+,+jtextfield5.getText()+,+jcombobox2.getSelectedItem()+,”+jtextfield4.getText()+,”+jtextarea.getText()+)”;ResultSet rs=stmt.executeQuery(SQL);catch(Exception ee)jtextfield1.setText();jtextfield2.setText();jtextfie

44、ld3.setText();jtextfield4.setText();jtextfield5.setText();jtextarea.setText();JOptionPane.showMessageDialog(null,添加信息成功!);ee.printStackTrace();/:object/Select.java import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;/* author LiuMingyan*/public class Select extends JFrame implements ActionListenerprivate JTextArea taInfo=new JTextArea();private JPanel panel=new JPanel();private JTextField jtextfield1=new JTextField();private JButton jbutton=new JButton(查询);

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号