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

上传人:b****6 文档编号:13564368 上传时间:2023-06-15 格式:DOCX 页数:30 大小:142.38KB
下载 相关 举报
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页
JAVA面向对象程序设计学生个人信息管理系统.docx_第6页
第6页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第7页
第7页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第8页
第8页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第9页
第9页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第10页
第10页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第11页
第11页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第12页
第12页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第13页
第13页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第14页
第14页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第15页
第15页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第16页
第16页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第17页
第17页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第18页
第18页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第19页
第19页 / 共30页
JAVA面向对象程序设计学生个人信息管理系统.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

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

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

 

软件学院

课程设计报告书

 

课程名称面向对象程序设计

设计题目学生个人信息管理系统

专业班级嵌入式软件09-2

学号0920010214

姓名王翀

指导教师

2011年6月

1设计时间

2012年6月13日——6月19日

2设计目的

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。

其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力

3设计任务

设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。

要求如下:

(1)具有简单的录入,查询和修改功能。

(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;

(3)使用文件存储数据。

(也可用数据库)

(4)学生个人信息必须包括:

学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。

4设计内容

4.1需求分析

学生管理系统需要对学生的基本信息进行简单的录入,查询,修改三项基本功能。

具体实现使用Access2003数据库实现基本操作,前台窗口使用GUI编程创建图形界面,对图形界面的窗口和按钮进行事件监听,执行相应的SQL语句。

4.1.1问题描述

设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。

4.1.2基本要求

(1)具有简单的录入,查询和修改功能。

(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;

(3)使用文件存储数据。

(4)学生个人信息必须包括:

学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。

(5)具有对姓名,出生日期和身份证号进行简单效验的功能。

4.2总体设计

1、自定义类说明:

(1)类名:

MainTest

作用:

主类,构建主界面

继承的父类:

Jframe

主要实现接口:

ActionListener

主要成员变量:

privateJPanelContentPane;

privateJButtonInsert=newJButton();

privateJButtonSelect=newJButton();

privateJButtonUpdate=newJButton();

内部类:

MainTest_actionPerformed,主页面的事件监听。

jenter_actionPerformed,按钮的事件监听。

主要成员方法:

publicMainTest()

publicstaticvoidmain(String[]args)

(2)类名:

Insert

作用:

实现添加个人信息

继承的父类:

Jframe

主要实现接口:

ActionListener

主要成员变量:

privateJPanelContentPane;

privateJLabeljlab1=newJLabel();

privateJLabeljlab2=newJLabel();

privateJLabeljlab3=newJLabel();

privateJLabeljlab4=newJLabel();

privateJLabeljlab5=newJLabel();

privateJLabeljlab6=newJLabel();

privateJLabeljlab7=newJLabel();

privateJLabeljlab8=newJLabel();

privateJTextFieldjtextfield1=newJTextField();

privateJTextFieldjtextfield2=newJTextField();

privateJTextFieldjtextfield3=newJTextField();

privateJTextFieldjtextfield4=newJTextField();

privateJTextFieldjtextfield5=newJTextField();

privateJComboBoxjcombobox1=newJComboBox();

privateJComboBoxjcombobox2=newJComboBox();

privateJTextAreajtextarea=newJTextArea();

privateJButtonsure=newJButton();

内部类:

sure_actionperformed,按钮的事件监听,实现对数据的插入。

主要成员方法:

publicInsert();

(3)类名:

Update

作用:

对个人信息进行修改。

继承的父类:

Jframe

主要实现接口:

ActionListener

主要成员变量:

privateJPanelContentPane;

privateJLabeljlab1=newJLabel();

privateJLabeljlab2=newJLabel();

privateJLabeljlab3=newJLabel();

privateJLabeljlab4=newJLabel();

privateJLabeljlab5=newJLabel();

privateJTextFieldjtextfield1=newJTextField();

privateJTextFieldjtextfield2=newJTextField();

privateJTextFieldjtextfield3=newJTextField();

privateJTextFieldjtextfield4=newJTextField();

privateJButtonsure=newJButton();

privateJButtonupda=newJButton();

主要成员方法:

publicUpdate()

publicvoidactionPerformed(ActionEvente)

(4)类名:

Select

作用:

查询学生个人信息

继承的父类:

Jframe

主要实现接口:

ActionListener

主要成员变量:

privateJTextAreataInfo=newJTextArea();

privateJPanelpanel=newJPanel();

privateJTextFieldjtextfield1=newJTextField();

privateJButtonjbutton=newJButton("查询");

privateJLabeljlabel=newJLabel("学号");

主要成员方法:

publicSelect()

publicvoidactionPerformed(ActionEvente)

2、主程序流程:

图4-2-1主流程图

4.2.1包的描述

importjava.awt.BorderLayout;边界布局勾画出一个容器,其组成部分的安排和调整以适应在五个区域:

北,南,东,西,和中心。

importjava.awt.Color;颜色类是用于封装在默认成色彩空间的颜色或颜色任意颜色空间所确定的色彩。

importjava.awt.Rectangle;一个矩形指定地区在坐标空间是封闭的矩形对象的左上点(十,年)在空间中的坐标,其宽度和高度。

importjava.awt.event.ActionEvent;事件一个接口,知道如何调度自己。

importjava.awt.event.ActionListener;监听器接口接收动作事件。

类的感兴趣的事件处理行动实现此接口的对象,并创建的类是一个注册的组件,使用组件的addactionlistener方法。

行动时,事件发生时,该对象的actionperformed调用方法。

importjavax.swing.JButton;实施“推”按钮。

请参阅TheJavaTutorial中的信息和使用按钮的例子如何使用按钮,复选框和单选按钮。

importjavax.swing.JComboBox;实施-一个复选框可以选择或取消的项目,并显示其状态的用户。

按照惯例,任何一组号码复选框可以选择。

请参阅如何使用Java教程使用复选框的例子和信息按钮,复选框和单选按钮。

importjavax.swing.JFrame;java.awt.Frame的扩展版本,增加了JFC/Swing组件架构的支持。

你可以找到有关节如何使框架,使用Java教程JFrame的面向任务的文档。

importjavax.swing.JLabel;一个很短的文本字符串或图像的显示区域,或两者兼而有之。

一个标签不输入事件作出反应。

因此,它不能获得键盘焦点。

然而,标签可以显示附近的一个组成部分,有一个键盘的替代品,但不能显示它的方便的键盘替代。

importjavax.swing.JPanel;JPanel的是一个通用的轻量级容器。

对于JPanel的任务为导向的文档和例子,请参阅如何使用面板,Java教程的一个部分。

importjavax.swing.JTextArea;一个JTextArea是一个多行的区域,显示纯文本。

它的目的是成为一个轻量级组件,提供与java.awt.TextArea类源代码的兼容性,它可以合理地这样做。

你可以找到在TheJavaTutorial中使用的文本组件,部分使用所有文本组件的信息和例子。

importjavax.swing.JTextField;JTextField是一个轻量级的组件,它允许在一个单行文本编辑。

对于使用文本字段的信息和例子,请参阅如何使用Java教程的文本字段。

4.2.2类的描述

JButton:

实施“推”按钮。

请参阅TheJavaTutorial中的信息和使用按钮的例子如何使用按钮,复选框和单选按钮。

JLabel:

一个很短的文本字符串或图像的显示区域,或两者兼而有之。

一个标签不输入事件作出反应。

因此,它不能获得键盘焦点。

然而,标签可以显示附近的一个组成部分,有一个键盘的替代品,但不能显示它的方便的键盘替代。

JTextField:

是一个轻量级的组件,它允许在一个单行文本编辑。

对于使用文本字段的信息和例子,请参阅如何使用Java教程的文本字段。

JComboBox:

相结合的一个按钮或可编辑字段和一个下拉列表组件。

用户可以选择从下拉列表中,出现在用户的请求值。

如果您编辑的组合框,组合框包括一个可编辑的字段到,用户可以键入一个值。

Connection:

与特定的数据库连接(会话)。

执行SQL语句和内连接的情况下返回的结果。

Statement:

一个Statement对象代表一种原始的语句在一个单一的方法应用到一个目标,一组参数-“a.setFoo

(二)”。

ResultSet:

一个代表,它通常通过执行查询数据库的语句生成一个数据库结果集的数据表。

包。

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");

Stringurl="jdbc:

odbc:

学生管理";

Connectioncon=DriverManager.getConnection(url);

Statementstmt=con.createStatement();

MainTest类中对按钮事件监听的实现:

classMainTest_actionPerformedimplementsActionListener

{

MainTestadapte;

MainTest_actionPerformed(MainTestadapte)

{

this.adapte=adapte;

}

publicvoidactionPerformed(ActionEvente)

{

/*调用窗口程序*/

if(e.getSource()==adapte.Insert)

{

Insertinsert=newInsert();

}

elseif(e.getSource()==adapte.Update)

{

Updateupdate=newUpdate();

}

elseif(e.getSource()==adapte.Select)

{

Selectselect=newSelect();

}

}

}

Insert类中添加个人信息的具体实现:

publicvoidactionPerformed(ActionEvente)

{

StringSQL="insertintostudent(学号,姓名,性别,生日,身份证号,专业,班级,简介)values('"+jtextfield1.getText()+"','"+jtextfield2.getText()+"','"+jcombobox1.getSelectedItem()+"','"+jtextfield3.getText()+"','"+jtextfield5.getText()+"','"+jcombobox2.getSelectedItem()+"',

'"+jtextfield4.getText()+"','"+jtextarea.getText()+"')";

ResultSetrs=stmt.executeQuery(SQL);

}

}

Update类中关于更新学生信息方法的实现:

if(e.getSource()==upda)

{

StringSQL="UPDATEstudentSET姓名='"+jtextfield2.getText()+"',

性别='"+jtextfield3.getText()+"',

专业='"+jtextfield4.getText()+"'

WHERE学号='"+jtextfield1.getText()+"'";

ResultSetrs=stmt.executeQuery(SQL);

rs.close();

stmt.close();

con.close();

}

Select类中对查询个人信息的实现:

publicvoidactionPerformed(ActionEvente)

{

StringSQL="SELECT*FROMstudent

WHERE学号='"+jtextfield1.getText()+"'";

ResultSetrs=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("专业")+"\n");

taInfo.append(rs.getString("班级")+"\n");

taInfo.append(rs.getString("简介")+"\n");

}

}

2、数据库表设计:

使用Access2003数据库

Student表:

字段名

类型

是否可为空

学号

文本

姓名

文本

性别

文本

生日

日期/时间

身份证号

文本

专业

文本

班级

文本

简介

文本

 

4.3.1类图

4.3.2页面设计

图4-3-2主页面设计图

4.4测试与分析

4.5程序代码

//:

object/MainTest.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

/**

*@authorLiuMingyan

*/

publicclassMainTestextendsJFrame{

/**************声明变量************/

privateJPanelContentPane;

privateJButtonInsert=newJButton();

privateJButtonSelect=newJButton();

privateJButtonUpdate=newJButton();

publicMainTest()

{

ContentPane=(JPanel)this.getContentPane();

ContentPane.setLayout(null);

this.setTitle("学生管理系统");

this.setBounds(100,200,500,300);

ContentPane.setBackground(Color.WHITE);

/*********3个按钮的设置********/

Insert.setText("添加学生信息");

Insert.setVisible(false);

Insert.setBounds(newRectangle(70,50,120,33));

Insert.addActionListener(newMainTest_actionPerformed(this));//加事件监听

Insert.setForeground(Color.white);

Insert.setBackground(Color.black);

Update.setText("修改学生信息");

Update.setVisible(false);

Update.setBounds(newRectangle(210,50,120,33));

Update.addActionListener(newMainTest_actionPerformed(this));//加事件监听

Update.setForeground(Color.white);

Update.setBackground(Color.black);

Select.setText("查询学生信息");

Select.setVisible(false);

Select.setBounds(newRectangle(340,50,120,33));

Select.addActionListener(newMainTest_actionPerformed(this));//加事件监听

Select.setForeground(Color.white);

Select.setBackground(Color.black);

/*******把控件添加到面板中去*******/

ContentPane.add(Insert);

ContentPane.add(Update);

ContentPane.add(Select);

this.setVisible(true);

Insert.setVisible(true);

Update.setVisible(true);

Select.setVisible(true);

}

/**********设置动作按钮的监听事件***********/

classjenter_actionPerformedimplementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

//设置3个按钮的可见性

Insert.setVisible(true);

Update.setVisible(true);

Select.setVisible(true);

}

}

/***********主窗口的监听事件**************************/

classMainTest_actionPerformedimplementsActionListener

{

MainTestadapte;

MainTest_actionPerformed(MainTestadapte)

{

this.adapte=adapte;

}

publicvoidactionPerformed(ActionEvente)

{

/*调用窗口程序*/

if(e.getSource()==adapte.Insert)

{

Insertinsert=newInsert();

}

elseif(e.getSource()==adapte.Update)

{

Updateupdate=newUpdate();

}

elseif(e.getSource()==adapte.Select)

{

Selectselect=newSelect();

}

}

}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2