课设题目:学生信息管理系统

一、团队成员介绍

周汉麟(组长):网络1511 201521123030

吴敏烽(组员):网络1512 201521123044

二、项目git地址

【课设】

吴敏烽

http://git.oschina.net/min21/javakeshe/commits/master

周汉麟

http://git.oschina.net/iamfinethinkyou/javakeshe

三、码云提交记录



四、项目功能架构图与主要功能流程图

项目主要功能流程图

五、项目运行截图





六、项目关键代码(不能太多)

//学生信息管理系统登录界面
public boolean equals(){
if("admin".equals(name)&&"admin".equals(password)){
return true;
}else{
return false;
}
}
};
class ActionHandle{
private JFrame frame=new JFrame("学生信息管理系统");
private JTextField name=new JTextField();//设置文本框
private JPasswordField pass=new JPasswordField();
private JLabel but1=new JLabel("用户名:");
private JLabel but2=new JLabel("密 码:");
private JButton but3=new JButton("登陆");
private JButton but4=new JButton("重置"); public ActionHandle(){
but3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getSource()==but3){
String sname=name.getText();
String spass=new String(pass.getPassword());
LoginCheck log=new LoginCheck(sname,spass);
if(log.equals()){
try {
new Menu();
} catch (Exception e1) { e1.printStackTrace();
}
frame.setVisible(false); }else{
JOptionPane.showMessageDialog(null, "登录失败,错误的用户名或密码!");
}
}
}
});
//框架设置:
frame.setLayout(null);
but1.setBounds(80, 40 , 80,30);
name.setBounds(140,40, 120, 30); //
but2.setBounds(80, 80 , 80,30);
pass.setBounds(140,80, 120, 30);
but3.setBounds(100, 150 , 60,30);
but4.setBounds(180, 150 , 60,30);
frame.setSize(400,330);
frame.setLocation(300, 200);
frame.add(but1);
frame.add(name);
frame.add(pass);
frame.add(but2);
frame.add(but3);
frame.add(but4);
frame.setVisible(true);
}
}
public class Enter{
public static void main(String[] args) { new ActionHandle();
} }
//添加信息:(修改信息和这个类似)
but1.addActionListener(new ActionListener() { // 增加,内部类
public void actionPerformed(ActionEvent e) {
if (e.getSource() == but1) {
but3.setEnabled(false);//使but3这个按钮变灰不可点击了
String number1 = number.getText();
if (number1.length() == 12) {
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));//读回对象
has = (Hashtable) in.readObject(); in.close();
} catch (Exception e1) {
}
} else {
JOptionPane.showMessageDialog(null, "请输入12位数字的学号");
}
//
if (number1.length() == 12) {
if (has.containsKey(number1)) { JOptionPane.showMessageDialog(null, "该生信息已存在,请到修改页面修改!");
} else {
String name1 = name.getText();
String dor1 = dor.getText();
String address1 = address.getText();
String sex1 = sex.getText();
String date1 = date.getText();
String pol1 = pol.getText();
String phone1 = phone.getText();
Person per = null;
per = new Person(number1, name1, dor1, address1, sex1, date1, pol1, phone1);
has.put(number1, per);// ???
try {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(has);
out.close();
JOptionPane.showMessageDialog(null, "添加成功!");
} catch (Exception e1) {}
}
}
}
}
});
//文件的保存和显示:
but4.addActionListener(new ActionListener() { // 查看
public void actionPerformed(ActionEvent e) { if (e.getSource() == but4) {
but3.setEnabled(false);
String number1 = number.getText();
if (number1.length() == 12) {
if (has.containsKey(number1)) {
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
has = (Hashtable) in.readObject();
in.close();
} catch (Exception e1) {
}
Person per = (Person) has.get(number1);
name.setText(per.getName());
dor.setText(per.getDor());
address.setText(per.getAddress());
sex.setText(per.getSex());
date.setText(per.getDate());
pol.setText(per.getPol());
phone.setText(per.getPhone()); but3.setEnabled(true);
} else {
JOptionPane.showMessageDialog(null, "学号不存在");
}
} else {
JOptionPane.showMessageDialog(null, "请输入12位数字的学号");
}
}
} });
but5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == but5) {
frame1.setVisible(true);
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
has = (Hashtable) in.readObject();
in.close();
} catch (Exception ee) {
}
if (has.isEmpty()) {
show.append("目前还没有学生的信息记录!\n");
// append(s:String)向文本域的文本追加字符串,简单的说就像system.out.println()
} else { for (Enumeration enu = has.elements(); enu.hasMoreElements();) {
//存入内存的内容如果不经过遍历是显示不出来的
Person per = (Person) enu.nextElement();
String str = " <学号>:" + per.getNum() + "\n" + " <姓名>:" + per.getName() + "\n" + " <宿舍号>:"
+ per.getDor() + "\n" + " <家庭住址>:" + per.getAddress() + "\n" + " <性别>:"
+ per.getSex() + "\n" + "<出生日期>:" + per.getDate() + "\n" + " <政治面貌>:"
+ per.getPol() + "\n" + " <电话>:" + per.getPhone() + "\n" + "\n";
show.append(str);
}
String str2 = "------------------------------结束---------------------------------------------------"
+ "\n";
show.append(str2);
}
}
} });
but0.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == but0) {
frame.setVisible(false);
new ActionHandle();
}
}
});

七、尚待改进或者新的想法

1.功能比较齐全,增删改查都有,虽然GUI设计得比较简陋。

2.需要完善添加统计学生各门科目成绩,班级平均分等。

八、团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长。

成员 负责模块 博客地址
周汉麟(组长) Person类、Menu类的增、删、改、查 【博客地址】http://www.cnblogs.com/Min21/p/7063877.html
吴敏烽(组员) Enter类(学生信息系统的登录)、Menu类的查看、显示 【博客地址】http://www.cnblogs.com/lamfinethinkyou/p/7063919.html

java课程设计---团体的更多相关文章

  1. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  2. java(课程设计之记事本界面部分代码公布)

    代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...

  3. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  4. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  5. java课程设计--We Talk(201521123061)

    java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...

  6. Java 课程设计 "Give it up"小游戏(团队)

    JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...

  7. Java课程设计----仿Windows标准型计算器

    JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...

  8. Java课程设计—象棋

    1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...

  9. Java课程设计——猜数游戏(201521123111 陈伟泽)

    Java课程设计--猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入 ...

随机推荐

  1. @font-face 使用过程

    格式:   TureTpe(.ttf)格式: .ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有[IE9+,Firefox3.5+,Chr ...

  2. DVWA笔记之二:Command Injection

    命令注入 1.Low级别 <?php  if( isset( $_POST[ 'Submit' ]  ) ) {      // Get input      $target = $_REQUE ...

  3. 关于 Node.js 的认证方面的教程(很可能)是有误的

    原文地址:Your Node.js authentication tutorial is (probably) wrong 我搜索了大量关于 Node.js/Express.js 认证的教程.所有这些 ...

  4. spring boot 登录注册 demo (一)

    Welcome to Spring Boot 代码结构 src/main/java 下 controller层,路由功能dao层,数据库的访问domain,bean的存放service,业务层appl ...

  5. Git 默认不区分大小写

    背景: 通过代码规范,修改了包名为全小写(修改了文件夹目录),但发现push后,git服务器的文件夹目录还是为大写 解决方法: git默认是不区分大小写的,意思是你修改一个文件名/文件夹的时候,git ...

  6. VMware Workstation 12 Pro 之安装林耐斯-Elementaryos-系统

    VMware Workstation 12 Pro 之安装林耐斯-Elementaryos-系统... ---------------- ------------------------------- ...

  7. ORACLE中seq$表更新频繁的分析

    在分析ORACLE的AWR报告时,发现SQL ordered by Executions(记录了按照SQL的执行次数排序的TOP SQL.该排序可以看出监控范围内的SQL执行次数)下有一个SQL语句执 ...

  8. Spring Data Jpa(Hibernate) OneToMany

    这个其实非常简单.假设有topic 和 subscriber两个实体类,不考虑关联关系,则连个类的代码如下: /** * Created by csonezp on 2017/8/31. */ @En ...

  9. QQ推广神器:批量加群、好友、群发。支持批量搜索关键词加群分享下载

    V2.1版本更新说明: 1.新增邮箱导出功能 2.新增一键添加关键词查询结果所有群 3.新增好友验证数学自动计算 4.新增好友验证答案判断 ------------------------------ ...

  10. Servlet中Response对象应用1(输出简单文字、实现文件下载)

    通过response对象可以实现很多功能,下面的代码都是在myeclipse上实现过的,整理下路,以备后用. response对象应用1 1向客户端发送简单消息 A利用已经声明的对象,调用其getOu ...