最新大学JAVA课程设计学生信息管理系统.docx

上传人:b****5 文档编号:7668677 上传时间:2023-01-25 格式:DOCX 页数:21 大小:173.66KB
下载 相关 举报
最新大学JAVA课程设计学生信息管理系统.docx_第1页
第1页 / 共21页
最新大学JAVA课程设计学生信息管理系统.docx_第2页
第2页 / 共21页
最新大学JAVA课程设计学生信息管理系统.docx_第3页
第3页 / 共21页
最新大学JAVA课程设计学生信息管理系统.docx_第4页
第4页 / 共21页
最新大学JAVA课程设计学生信息管理系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

最新大学JAVA课程设计学生信息管理系统.docx

《最新大学JAVA课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《最新大学JAVA课程设计学生信息管理系统.docx(21页珍藏版)》请在冰豆网上搜索。

最新大学JAVA课程设计学生信息管理系统.docx

最新大学JAVA课程设计学生信息管理系统

在调查中我们注意到大多数同学都比较注重工艺品的价格,点面氛围及服务。

图1-1大学生月生活费分布

3、竞争对手分析

据了解,百分之八十的饰品店都推出“DIY饰品”来吸引顾客,一方面顺应了年轻一代喜欢与众不同、标新立异的心理;另一方面,自制饰品价格相对较低,可以随时更新换代,也满足了年轻人“喜新厌旧”的需要,因而很受欢迎。

手工艺制品是我国一种传统文化的象征,它品种多样,方式新颖,制作简单,深受广大学生朋友的喜欢。

当今大学生的消费行为表现在追求新颖,追求时尚。

追求个性,表现自我的消费趋向:

购买行为有较强的感情色彩,比起男生热衷于的网络游戏,极限运动,手工艺制品更得女生的喜欢。

合计50100%

年轻有活力是我们最大的本钱。

我们这个自己动手做的小店,就应该与时尚打交道,要有独特的新颖性,这正是我们年轻女孩的优势。

(1)价格低

(2)物品的独一无二

一、消费者分析

(JAVA程序设计)

学生信息管理系统

起止日期:

2013年06月10日至2013年06月14日

 

学生姓名

贾光明

班级

网络102班

学号

10408400229

成绩

指导教师(签字)

 

计算机与通信学院

2013年06月

摘要

本系统主要完成对学生信息的管理,包括录入、添加、修改、删除、查询、打印信息等方面。

系统可以完成对各类系统浏览、查询、添加、删除、修改等功能。

系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的修改其他的表,当完成添加删除操作时系统会自动地完成学生信息的修改。

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

要求如下:

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

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

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

(也可用数据库)

 

 

一、课程设计的目的与意义

目的:

深入理解java语言的语法规则及其优势,掌握类与方法的构造方法,掌握基于java的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。

在实践中培养独立分析问题和解决问题的作风和能力。

意义:

熟练运用java语言、基本构造方法和算法的基础知识,独立编制一个具有中等难度的、解决实际应用问题的应用程序。

通过题意分析、选择类结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,不断地完善程序以提高程序的性能。

2、需求分析

该学生学籍管理系统的所有功能均在一个Frame窗体中实现。

①学生学籍管理系统主界面模块:

采用Frame窗体来设置欢迎界面包括背景图片及字幕(可以设计成滚动字幕效果),左上方的菜单条设计成下拉式。

包括“录入学生基本信息”、“修改学生基本信息”、“删除学生基本信息”、“查询学生基本信息”和“退出系统”五项菜单项。

②录入学生基本信息模块:

采用Panel面板来设置该部分内容信息并采用方位布局(边缘布局)和Box轻量级组件来设置“学号”、“姓名”、“性别”、“专业”、“年级”、“出生”,并在该面板中添加了“录入”和“重置”两个按钮进行监听,最后将该面板加入到Frame窗体中去。

③修改学生基本信息模板:

采用Panel面板来设置该部分内容信息,同样是采用方位布局及Box组件来设置相关信息,并在学号旁设置了“开始修改”按钮。

在面板南部方位添加了“确定修改”和“重置”两按钮进行监听。

④查询学生基本信息模板:

采用Panel面板来设置该部分内容信息,并将该面板加入到主窗体中去,采用边缘布局进行方位设置,在上方加入“查询”按钮进行监听。

⑤删除学生基本信息模板:

也是采用Panel面板进行设置相关内容,并用边缘布局进行布局,并在上方添加“确定”按钮,在下方添加“确定删除”按钮实现监听。

定义四个Panel面板

1.定义Reg(录入学生基本信息)面板

采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“录入学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。

然后在面板的South方位设置“录入”与“重置”两按钮。

最后实现与数据库的桥接,能够将从文本框获得的信息存储到数据库中去。

2.定义Search(查询学生基本信息)面板

该部分同样采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“查询学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一个“查询”按钮。

并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去。

3.定义Modify(修改学生基本信息)面板

该部分同样也是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

并在“学号”该文本框后添加一个“开始修改”按钮用来监听。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,并将修改后的信息存储到数据库中去。

4.定义Delete(删除学生基本信息)面板

该部分还是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一“确定”按钮实现监听。

并将其所有文本框和标签加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

并在“学号”该文本框后添加一个“开始修改”按钮用来监听。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量,还在本面板的South方位添加“确定删除”按钮。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,删除后同时在数据库中也删除该信息并保存该操作。

1、学生信息管理系统的登录

学生信息管理系统可由管理员和学生两种身份的人使用。

管理员和学生身份登录所能操作的功能有很大的区别。

系统初始化一个系统管理员,登录名:

admin密码:

admin

学生登录系统的登录名为学号,密码也为学号(如:

10001),登录后可以修改密码。

 

登录界面

登录系统后的界面

注册学生信息界面

修改学生信息界面

查询学生信息界面

删除学生信息界面

1程序类的设计

DeleteListener.java:

删除监听

JTMouseListener.java:

树状视图

LoginListener.java:

登陆监听

ResetListener.java:

重置监听

SaveListener.java:

保存监听

SearchAllListener.java:

搜索所有学生信息

SearchDListener.java:

搜索一个学生信息

SearchListener.java:

搜索一个学生信息

SearchRListener.java:

搜索一个学生信息

SubmitListener.java:

提交信息监听

2系统的使用说明及环境配置

学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:

admin密码:

admin登录系统后可以进行相应的操作。

学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。

数据库:

Mysql

连接数据库的登录名:

root密码:

zfz

代码:

DeleteListener.java:

删除监听

packagemanager.ui.listener;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JOptionPane;

importmanager.dao.JdbcIcpCURD;

importmanager.ui.conponent.DeletePanel;

publicclassDeleteListenerimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

JButtonjb=(JButton)e.getSource();

DeletePaneldp=(DeletePanel)jb.getParent();

Stringxuehao=dp.xuehaoFd.getText();

Stringmsg="你确定要删除学号为"+xuehao+"的学生信息么?

";

inti=JOptionPane.showConfirmDialog(dp,msg,"提示信息",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);

if(i==0){

JdbcIcpCURDcurd=newJdbcIcpCURD();

booleanb=curd.deleteByXuehao(Integer.parseInt(xuehao));

if(b){

dp.errorLb.setText("删除成功");

}

else{

dp.errorLb.setText("删除失败");

}

}

return;

}

}

JTMouseListener.java:

树状视图

packagemanager.ui.listener;

importjava.awt.CardLayout;

importjava.awt.Component;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjavax.swing.JTree;

importjavax.swing.tree.DefaultMutableTreeNode;

importjavax.swing.tree.TreeNode;

importjavax.swing.tree.TreePath;

importmanager.ui.conponent.MainFrame;

importmanager.ui.conponent.PLeft;

publicclassJTMouseListenerimplementsMouseListener{

@Override

publicvoidmouseClicked(MouseEvente){

//TODOAuto-generatedmethodstub

JTreejt=(JTree)e.getSource();

PLeftp=(PLeft)jt.getParent();

MainFramef=(MainFrame)p.getParent().getParent().getParent().getParent();

TreePathpath=jt.getPathForLocation(e.getX(),e.getY());

if(path==null){

return;

}

DefaultMutableTreeNodenode=(DefaultMutableTreeNode)path.getLastPathComponent();

Strings=node.toString();

CardLayoutcl=f.getPright().getLayout();

if(s.equals("注册学生")){

cl.show(f.getPright(),"register");

}

if(s.equals("修改学生信息")){

cl.show(f.getPright(),"modify");

}

if(s.equals("查询学生信息")){

cl.show(f.getPright(),"search");

}

if(s.equals("删除学生信息")){

cl.show(f.getPright(),"delete");

}

if(s.equals("学生信息管理")){

cl.show(f.getPright(),"welcom");

}

}

@Override

publicvoidmouseEntered(MouseEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidmouseExited(MouseEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidmousePressed(MouseEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidmouseReleased(MouseEvente){

//TODOAuto-generatedmethodstub

}

}

LoginListener.java:

登陆监听

packagemanager.ui.listener;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JOptionPane;

importmanager.ui.conponent.Login;

importmanager.ui.conponent.MainFrame;

publicclassLoginListenerimplementsActionListener{

@Override

publicvoidactionPerformed(ActionEvente){

JButtonbt=(JButton)e.getSource();

Loginframe=(Login)bt.getParent().getParent().getParent().getParent();

Stringusername=frame.usernameTa.getText().trim();

Stringpassword=frame.passwordTa.getText().trim();

if(username!

=null||password!

=null){

if("admin".equals(username)&&"123".equals(password)){

newMainFrame().setVisible(true);

frame.dispose();

}

else{

frame.messageLb.setText("用户名或密码错误");

}

}

else{

frame.messageLb.setText("用户名或密码错误");

}

}

}

ResetListener.java:

重置监听

packagemanager.ui.listener;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importmanager.ui.conponent.RegPanel;

publicclassResetListenerimplementsActionListener{

@Override

publicvoidactionPerformed(ActionEvente){

JButtonjb=(JButton)e.getSource();

RegPaneljp=(RegPanel)jb.getParent();

jp.xuehaoFd.setText("");

jp.nameFd.setText("");

jp.addressFd.setText("");

}

}

SaveListener.java:

保存监听

packagemanager.ui.listener;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importmanager.dao.JdbcIcpCURD;

importmanager.domain.Student;

importmanager.ui.conponent.ModifyPanel;

publicclassSaveListenerimplementsActionListener{

@Override

publicvoidactionPerformed(ActionEvente){

JButtonjb=(JButton)e.getSource();

ModifyPanelmp=(ModifyPanel)jb.getParent();

Stringxuehao=mp.xuehaoTf.getText().trim();

Stringname=mp.nameTf.getText().trim();

Stringgender=mp.genderTf.getText().trim();

Stringaddress=mp.addressTf.getText().trim();

StringoldXuehao=mp.xuehaoFd.getText().trim();

if(oldXuehao==null||xuehao.equals("")){

oldXuehao=xuehao;

}

if(xuehao==null||xuehao.equals("")){

mp.errorLb.setText("请输入修改后的学号...");

return;

}

if(name==null||name.equals("")){

mp.errorLb.setText("请输入修改后的姓名...");

return;

}

if(gender==null||gender.equals("")){

mp.errorLb.setText("请输入修改后的性别...");

return;

}

if(address==null||address.equals("")){

mp.errorLb.setText("请输入修改后的地址...");

return;

}

Studentstu=newStudent();

stu.setXuehao(Integer.parseInt(xuehao));

stu.setName(name);

stu.setGender(gender);

stu.setAddress(address);

intold=Integer.parseInt(oldXuehao);

JdbcIcpCURDcurd=newJdbcIcpCURD();

if(curd.modify(stu,old)){

mp.errorLb.setText("修改成功...");

}

}

}

SearchAllListener.java:

搜索所有学生信息

packagemanager.ui.listener;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.Vector;

importjavax.swing.JButton;

importjavax.swing.JTextArea;

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1