Java小项目报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HUNAN UNIVERSITY Java小项目报告
题目:学生成绩管理系统
学生姓名吕良
学生学号20110801303
专业班级计算机科学与技术(3)班
指导老师文佳宝
完成日期 2013.12.23
Java小项目:学生成绩管理系统
一、项目内容
1、实现数据能够保存,增加修改、删除、查询等功能。
2、利用图形界面与文件操作,增加修改、删除、查询、报表显示输出等
功能
二、实验要求
完成一个Java小项目
三、实验目的
1、掌握文件的操作;
2、掌握系统软件的编程;
3、进一步学习算法的分析与设计;
4、实现真正意义上的文件形式的信息管理系统,为今后数据库形式的信
息管理系统做铺垫;
5、进一步掌握图形界面的设计、面向对象的编程;
6、掌握系统菜单的设计。
四、实验条件
编译器: net beans
Java环境: JDK
操作系统: Windows 7
五、思路分析
1、为避免数据错误,每次操作前检查输入项是否为空、成绩是否为整
数;
2、增加操作时,在写好学号框转移焦点时自动判断学号是否输入、是
否已经存在于数据文件中,并弹出相应提示;
3、修改操作时,在写好学号框转移焦点时自动判断学号是否输入、是
否未存在于数据文件中,并弹出相应提示,如找到填入的学号则自动将数据填入各个文本框中;
4、增删改操作时,在写好学号框转移焦点时自动判断学号是否输入、
是否已经存在于数据文件中,使用布尔型变量标记操作是否完成,并弹出相应提示;
5、修改和删除操作,先将文件中的内容暂存到内存中,再重新写入符
合条件的信息;
6、查询操作,每次转移到该面板即将查询到的内容更新数据表格,可
以是一个指定学号的学生信息,也可以是数据文件中的所有信息;
7、删除操作将删除指定学号的学生信息,因为学号是唯一的,所以只
会删除一行数据;
8、导出到指定文件功能,调用API中的保存文件对话框可指定要保存
的文件和位置,执行方法将数据完整输出到该文件即可;
9、为报表显示数据,写了一个DataTableModel,继承
AbstractTableModel以实现显示学生信息的数据表格。
六、程序代码(部分)
【StudentManager.java】
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
1.public class StudentManager extends JFrame{
2.private Container currentContainer = this;
3.private String title = "学生成绩管理系统";
4.private Font headFont = new Font("黑体",Font.PLAIN,18);
5.private File data = new File("data.txt");
6.private DataTable dataModel = new DataTable();
7.private JTable dataTable = new JTable(dataModel);
8.private JLabel extraLabel = new JLabel();
9.private JPanel welcomePanel = createWelcomePanel();
10.private JPanel insertPanel = createInsertPanel();
11.private JPanel displayPanel = createDisplayPanel();
12.private JPanel modifyPanel = createModifyPanel();
13.public StudentManager(){
14./* 设置窗体基本信息 */
15.this.setLocation(300, 300);
16.this.setSize(475,450);
17.this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
18.this.setResizable(false);
19.
20.this.setTitle(title);
21.this.createMenu();
22.this.add(welcomePanel);
23.
24./* 如果数据文件不存在则默认创建一个 */
25.if(!data.exists()){
26.try{
27.new FileWriter(data);
28.}catch(IOException e){
29.}
30.}
31.
32./* 显示窗体 */
33.this.setVisible(true);
34.}
35.
七、调试与运行情况
1、初始界面
2、录入学生成绩