JAVA课程设计
Posted zc-565095526
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA课程设计相关的知识,希望对你有一定的参考价值。
一、团队介绍
团队成员 | 任务分配 | 团队成员课程设计博客链接 | 组长 |
---|---|---|---|
张弛 | 创建学生信息、创建登陆界面、撰写博客 | https://www.cnblogs.com/zc-565095526/p/10284188.html | √ |
吴越 | 设计主菜单GUI图形界面以及查询、增、删、改等功能的实现 |
二、项目git地址
张弛 https://gitee.com/zc565095526/javakeshe/tree/master
吴越 https://gitee.com/ShangDaXueJiuBuLiaoZhongGuoRen/2019java_course_designwu_yue
三、项目git提交记录截图
张弛:
吴越:
四、项目功能架构图与主要功能流程图
五、项目运行截图或屏幕录制
1.登陆系统
2.增加学生信息
删除之后
3.查看学生信息
输入学号
点击查看,显示该学生信息
换一个未添加学号,显示学号不存在
4.修改学生信息
将宿舍号从503改为502
修改完后
5.清空功能
要重新输入信息时,要一行行删除 太过麻烦。因此我们重新设计了一个“清空”按钮。以此来实现一键清空的功能
清空前
清空后
##6.显示所有学生信息
点击显示按钮,则会显示所有学生的信息。以“结束”作为标识符结束
六、项目关键代码
1.增加学生信息部分代码
//////////////////////
button1.addActionListener(new ActionListener() { // 监听增加, 使用内部类
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) { //点击增加数据按钮
button3.setEnabled(false); //使button3这个按钮变灰不可点击了
String number1 = number.getText(); //从文本框获取用户键盘输入的字符串
if (number1.length() == 12) { //学号要是12位的字符
try {
ObjectInputStream input = new ObjectInputStream(new FileInputStream(file)); //读回对象
hash = (Hashtable) input.readObject(); //放到hash中去
input.close();
} catch (Exception e1) {
}
}
else {
JOptionPane.showMessageDialog(null, "请输入学生的学号"); //输入为空,就会提示此信息
}
if (number1.length() == 12) {
if (hash.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 = phonenum.getText();
Student per = null;
per = new Student(number1, name1, dor1, address1, sex1, date1, pol1, phone1);
hash.put(number1, per); // 使用学号和学生来键值相对,添加
try {
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(file));//写出对象到对应文件中
output.writeObject(hash);
output.close();
JOptionPane.showMessageDialog(null, "添加成功!");
} catch (Exception e1) {}
}
}
}
}
});
2.删除学生信息
button2.addActionListener(new ActionListener() { // 监听删除按钮
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button2) {
button3.setEnabled(false);
String number1 = number.getText();
if (number1.length() == 12) {
try {
ObjectInputStream input = new ObjectInputStream(new FileInputStream(file)); //每次都要读回对象
hash = (Hashtable) input.readObject();
input.close();
} catch (Exception e1) {
}
}
else {
JOptionPane.showMessageDialog(null, "请输入学生的学号");//提示信息
}
if (hash.containsKey(number1)) {
hash.remove(number1); //删除操作
ObjectOutputStream output = null; //初始输出置空
JOptionPane.showMessageDialog(null, "删除成功");
try {
output = new ObjectOutputStream(new FileOutputStream(file)); //写出对象到对应文件中
output.writeObject(hash); //将hash中的数据写出
output.close();
} catch (IOException ex) {
Logger.getLogger(Menu.class.getName()).log(Level.SEVERE, null, ex);
}
}
else {
JOptionPane.showMessageDialog(null, "学号不存在");
}
}
}
});
3.修改学生信息
button3.addActionListener(new ActionListener() { // 监听修改按钮
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button3) {
button3.setEnabled(false);
String number1 = number.getText();
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 = phonenum.getText();
Student per = new Student(number1, name1, dor1, address1, sex1, date1, pol1, phone1);
hash.put(number1, per);
JOptionPane.showMessageDialog(null, "修改成功");
try {
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(file));//写出对象到对应文件中
output.writeObject(hash);
output.close();
} catch (Exception e1) {
}
}
}
});
七、项目代码扫描结果及改正
八、尚待改进
1.登陆界面在输完密码之后无法直接用回车进入系统,上网查资料无果,只能单击“登录”按钮才能进入系统。
2.图形界面的背景图部分,想要给其加自定义背景图片,但是由于时间比较赶(有去尝试过),也未能完成改进。
3.想通过其他信息部分进行索引,查到该学生的具体资料,但由于时间不够,就只做了以学号为索引的方式
以上是关于JAVA课程设计的主要内容,如果未能解决你的问题,请参考以下文章