




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题题 目 目 课程设计课程设计 学学 院 院 信息工程学院信息工程学院 姓姓 名 名 学学 号 号 专专 业 业 计算科学与技术计算科学与技术 班班 级 级 指导教师 指导教师 2015 年年 12 月月 0 目 录 目 录 1 摘 要 2 1 引 言 3 2 设计目的与任务 4 3 设计方案 5 3 1总体设计 5 3 2开发环境 5 3 3层次图 5 3 4界面预览 5 3 4 1登录界面 5 3 4 2该管理员不存在 用户名 name 用户密码 psw 6 3 4 3学生信息管理界面 6 3 4 4填写学生信息 7 3 4 5录入学生信息 7 3 4 6查询学生信息 7 3 4 7修改学生信息 8 3 4 8删除学生信息 8 3 4 9显示所有学生信息 9 4 系统说明 10 5 设计体会与小结 11 6 附 录 12 6 1登录界面源代码 Login java 12 6 2学生信息管理系统源码 Student java 14 0 摘 要 随着学校的规模不断扩大 学生数量急剧增加 有关学生的各种信息量也成倍增 长 面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率 通过这样的 系统可以做到信息的规范管理 科学统计和快速查询 修改 增加 删除等 从而减 少管理方面的工作量 目前社会上信息管理系统发展飞快 各个企业事业单位都引入了 信息管理软件来管理自己日益增长的各种信息 学生管理系统也是有了很大的发展 商 业化的学生信息管理软件也不少 该报告中的程序是简单的学生管理系统 该系统完全独立开发 力求使系统功能简 洁明了 但功能齐全且易于操作 使用 Java 程序编写 能够进行学生信息录入 修改 查看 删除等操作 该程序主要用到了 Java swing 和事件监听等 1 1 引 言 Java 的前身是 Oak 它一开始只是被应用于消费性电子产品中 后来它的开发 者们发现它还可以被用于更大范围的 Internet 上 1995 年 Java 语言的名字从 Oak 编程了 Java 1997 年 J2SE1 1 发布 1998 年 J2SE1 2 发布 标志 Java2 的诞生 十 多年来 Java 编程语言及平台成功地运用在网络计算及移动等各个领域 Java 的体 系结构由 Java 语言 Java class 组成 它具有简单 面向对象 健壮 安全 结构 中立 可移植和高效能等众多优点 Java 支持多线程编程 Java 运行时系统在多线 程同步方面具有成熟的解决方案 Java 的平台标准有 Java ME Java SE 和 Java EE Java 发展到今天 它的卓越成就及在业界的地位毋庸置疑 目前在众多的支持 Java 的开发工具中主要的 7 有 Java Development Kit NetBeans Jcreator JBuilder JDeveloper 和 Eclipse 等 其中 Java Development Kit 简称 JDK 是大多开发工具的基础 以上的每种开发工具都有优缺 点 对于开发者来说 重要的是要根据自己的开发规模 开发内容和软硬件环境等 因素来选择一种合适的开发工具 在本程序设计中 因为需要开发的是学生管理 系统程序 规模较小 内容较少 所以选择了适合初学者使用的 JCreator 开发工具 2 2 设计目的与任务 学生信息管理系统是一个教育单位不可缺少的部分 一个功能齐全 简单易用的信 息管理系统不但能有效地减轻学校相关工作人员的工作负担 它的内容对于学校的决 策者和管理者来说都至关重要 所以学生信息管理系统应该能够为用户提供充足的信 息和快捷的查询手段 但一直以来人们使用传统人工的方式管理文件档案 统计和查 询数据 这种管理方式存在着许多缺点 如 效率低 保密性差 人工的大量浪费 另外 时间一长 将产生大量的文件和数据 这对于查找 更新和维护都带来了不少困难 随 着科学技术的不断提高 计算机科学日渐成熟 其强大的功能已为人们深刻认识 它已进 入人类社会的各个领域并发挥着来越重要的作用 在计算机网络 数据库和先进的开 发平台上 利用现有的软件 硬件资源 开发一个具有开放体系结构的 易扩充的 易维护的 具有良好人机交互界面的学生信息管理系统 这个简单的学生信息管理系统包括以下两个基本功能 管理员登陆 学生信息管理 本系统主要用于学校学生信息管理 总体任务是实现学生信息关系的系统化 规范 化和自动化 其主要任务是用计算机对学生各种信息进行日常管理 如查询 修改 增加 删除 针对这些要求设计了学生管理信息系统 3 3 设计方案 3 1 总体设计 本程序要构建的学生管理系统程序其功能有以下几个方面 1 首先是学生管理系统主界面 管理员登录界面 2 管理员登录之后的子界面 学生信息管理界面 3 学生信息管理界面可对学生信息进行填写操作 4 学生信息管理界面底端并含有 录入 查询 修改 删除 显示 五个操作按钮 3 2 开发环境 Windows XP myeclipse 8 5 0 win32 3 3 层次图 3 4 界面预览 3 4 1登录界面 学生信息管理系统 管理员登陆 学生信息管理 添 加 学 生 信 息 查 询 学 生 信 息 修 改 学 生 信 息 删 除 学 生 信 息 显 示 学 生 信 息 4 3 4 2该管理员不存在 用户名 name 用户密码 psw 3 4 3学生信息管理界面 5 3 4 4填写学生信息 3 4 5录入学生信息 3 4 6查询学生信息 6 3 4 7修改学生信息 3 4 8删除学生信息 7 3 4 9显示所有学生信息 8 4 系统说明 1 该系统并未使用数据库 只是把信息存放在了一个新建立的文本文档中 2 关于管理员信息 必须现在 C 盘建立一个名为 Login 的文本文档 在 Login 中存入用户名 和密码且必须分行写入 3 若要修改学生信息必须先进行信息的查询 查询后方可进行信息修改 9 5 设计体会与小结 通过这次课程设计 我们大家在老师的帮助下收获的不仅仅是课程上的知识得到 实际应用 还有编程的基本习惯和开发系统时应注意的流程 编程是个艰难的过程 很多功能语句都需要上网或者是查其他书籍来查看他们的用法 课本上的东西对我们 来说远远不够 我们要把目光放长远一些 这次的课程设计使我对 JAVA 的许多东西都 有了更深一步的了解 以前对自己的要求是看得懂就行 现在才发现 光能看懂是远 远不够的 能看懂并不代表你会 课本被翻过很多遍 很多以前不知道的东西就这样豁 然开朗了 本次 Java 课程设计的锻炼 不仅我们的分析问题跟解决问题的能力都得到明显的 提高 在这次事件过程中收获很多 对我们而言 知识上的收回 尽管遇到了困难 但还是通过各种途径克服问题 做小小的测试 通过了就很开心 收获颇多 但是知 识还是欠缺 我们会继续努力 10 6 附 录 6 1 登录界面源代码 Login java package aa import java awt event import javax swing import java awt import java awt event ActionEvent import java awt event ActionListener import java awt event WindowAdapter import java awt event WindowEvent import java io BufferedReader import java io File import java io FileReader import java io IOException import java util import java sql class Login extends JFrame implements ActionListener Container cp null String name null String psw null JFrame f null JButton j1 j2 JTextField t1 JPasswordField t2 JLabel jlable1 jlable2 Color c JPanel jp1 jp2 Login f new JFrame 学生管理系统 j1 new JButton 确定 j2 new JButton 取消 cp f getContentPane jlable1 new JLabel 输入用户名 jlable2 new JLabel 用户密码 jp1 new JPanel jp2 new JPanel t1 new JTextField 18 t2 new JPasswordField 18 jp1 add jlable1 jp1 add t1 jp1 add jlable2 jp1 add t2 11 JLabel JL new JLabel 欢迎进入信 息工程学院管理系统 SwingConstants CENTER cp add JL North jp2 add j1 jp2 add j2 cp add jp1 Center cp add South jp2 jp1 setBackground Color lightGray Toolkit kit Toolkit getDefaultToolkit Dimension screen kit getScreenSize int x screen width 取得显示器窗口的宽度 int y screen height 取得显示器窗口的高度 setSize x y 让系统窗口平铺整个显示器窗口 f setSize 300 300 int xcenter x 300 2 int ycenter y 300 2 f setLocation xcenter ycenter 显示在窗口中央 f setVisible true j1 addActionListener this 注册事件监听器 j2 addActionListener this f addWindowListener new WindowAdapter public void windowClosing WindowEvent e System exit 0 public void confirm throws IOException 验证用户和密码是否存在 File file new File C Login txt try if file exists file createNewFile catch IOException e e printStackTrace BufferedReader br new BufferedReader new FileReader file String temp br readLine String line while line br readLine null temp line if temp null System out println 12 else String str temp split name str 0 psw str 1 if t1 getText trim equals name f hide br close else JOptionPane showMessageDialog null 该用户不存在 提示 JOptionPane YES NO OPTION t1 setText t2 setText public void actionPerformed ActionEvent e String cmd e getActionCommand if cmd equals 确定 try confirm catch IOException e1 e1 printStackTrace else if cmd equals 取消 f dispose public static void main String args Login a new Login 6 2 学生信息管理系统源码 Student java package aa import java awt import java awt event import javax swing import java io 13 import java util public class Student implements java io Serializable String number name specialty grade borth sex public Student public void setNumber String number this number number public String getNumber return number public void setName String name this name name public String getName return name public void setSex String sex this sex sex public String getSex return sex public void setSpecialty String specialty this specialty specialty public String getSpecialty return specialty public void setGrade String grade this grade grade public String getGrade return grade public void setBorth String borth this borth borth public String getBorth return borth class Test extends JFrame JLabel lb new JLabel 录入请先输入记录 查询 删除请先输入学号 修改是对查询 内 容改后的保存 JTextField 学号 姓名 专业 年级 出生 JRadioButton 男 女 ButtonGroup group null JButton 录入 查询 删除 修改 显示 JPanel p1 p2 p3 p4 p5 p6 pv ph Student 学生 null Hashtable 学生散列表 null File file null FileInputStream inOne null ObjectInputStream inTwo null FileOutputStream outOne null ObjectOutputStream outTwo null public Test super 学生信息管理系统 学号 new JTextField 10 姓名 new JTextField 10 专业 new JTextField 10 年级 new JTextField 10 出生 new JTextField 10 group new ButtonGroup 男 new JRadioButton 男 true 女 new JRadioButton 女 false group add 男 group add 女 14 录入 new JButton 录入 查询 new JButton 查询 删除 new JButton 删除 修改 new JButton 修改 显示 new JButton 显示 录入 addActionListener new InputAct 查询 addActionListener new InquestAct 修改 addActionListener new ModifyAct 删除 addActionListener new DeleteAct 显示 addActionListener new ShowAct 修改 setEnabled false p1 new JPanel p1 add new JLabel 学号 JLabel CENTER p1 add 学号 p2 new JPanel p2 add new JLabel 姓名 JLabel CENTER p2 add 姓名 p3 new JPanel p3 add new JLabel 性别 JLabel CENTER p3 add 男 p3 add 女 p4 new JPanel p4 add new JLabel 专业 JLabel CENTER p4 add 专业 p5 new JPanel p5 add new JLabel 年级 JLabel CENTER p5 add 年级 p6 new JPanel p6 add new JLabel 出生 JLabel CENTER p6 add 出生 pv new JPanel pv setLayout new GridLayout 6 1 pv add p1 pv add p2 pv add p3 pv add p4 pv add p5 pv add p6 ph new JPanel ph add 录入 ph add 查询 ph add 修改 ph add 删除 ph add 显示 15 file new File 学生信息 txt 学生散列表 new Hashtable if file exists try FileOutputStream out new FileOutputStream file ObjectOutputStream objectOut new ObjectOutputStream out objectOut writeObject 学生散列表 objectOut close out close catch IOException e Container con getContentPane con setLayout new BorderLayout con add lb BorderLayout NORTH con add pv BorderLayout CENTER con add ph BorderLayout SOUTH setDefaultCloseOperation EXIT ON CLOSE setBounds 100 100 600 300 setVisible true public static void main String args new Test class InputAct implements ActionListener public void actionPerformed ActionEvent e 修改 setEnabled false String number number 学号 getText if number length 0 try inOne new FileInputStream file inTwo new ObjectInputStream inOne 学生散列表 Hashtable inTwo readObject inOne close inTwo close catch Exception ee System out println 创建散列表出现问题 if 学生散列表 containsKey number String warning 该生信息已存在 请到修改页面修改 JOptionPane showMessageDialog null warning 警告 JOptionPane WARNING MESSAGE endif1 else String m 该生信息将被录入 int 16 ok JOptionPane showConfirmDialog null m 确认 JOptionPane YES NO OPTION JOptionPane INFORMATION MESSAGE if ok JOptionPane YES OPTION String name 姓名 getText String specialty 专业 getText String grade 年级 getText String borth 出生 getText String sex null if 男 isSelected sex 男 getText else sex 女 getText 学生 new Student 学生 setNumber number 学生 setName name 学生 setSpecialty specialty 学生 setGrade grade 学生 setBorth borth 学生 setSex sex try outOne new FileOutputStream file outTwo new ObjectOutputStream outOne 学生散列表 put number 学生 outTwo writeObject 学生散列表 outTwo close outOne close catch Exception ee System out println 输出散列表出现问题 学号 setText null 姓名 setText null 专业 setText null 年级 setText null 出生 setText null end else1 endif0 else String warning 必须输入学号 JOptionPane showMessageDialog null warning 警 告 JOptionPane WARNING MESSAGE end else0 end actionPerformed end class class InquestAct implements ActionListener public void actionPerformed ActionEvent e 17 String number number 学号 getText if number length 0 try inOne new FileInputStream file inTwo new ObjectInputStream inOne 学生散列表 Hashtable inTwo readObject inOne close inTwo close catch Exception ee System out println 散列表有问题 if 学生散列表 containsKey number 修改 setEnabled true Student stu Student 学生散列表 get number 姓名 setText stu getName 专业 setText stu getSpecialty 年级 setText stu getGrade 出生 setText stu getBorth if stu getSex equals 男 男 setSelected true else 女 setSelected true else 修改 setEnabled false String warning 该学号不存在 JOptionPane showMessageDialog null warning 警 告 JOptionPane WARNING MESSAGE else 修改 setEnabled false String warning 必须输入学号 JOptionPane showMessageDialog null warning 警 告 JOptionPane WARNING MESSAGE class ModifyAct implements ActionListener public void actionPerformed ActionEvent e String number 学号 getText String name 姓名 getText String specialty 专业 getText String grade 年级 getText String borth 出生 getText String sex null if 男 isSelected sex 男 getText 18 else sex 女 getText Student 学生 new Student 学生 setNumber number 学生 setName name 学生 setSpecialty specialty 学生 setGrade grade 学生 setBorth borth 学生 setSex sex try outOne new FileOutputStream file outTwo new ObjectOutputStream outOne 学生散列表 put number 学生 outTwo writeObject 学生散列表 outTwo close outOne close 学号 setText null 姓名 setText null 专业 setText null 年级 setText null 出生 setText null catch Exception ee System out println 录入修改出现异常 修改 setEnabled false class DeleteAct implements ActionListener public void actionPerformed ActionEvent e 修改 setEnabled false String number 学号 getText if number length 0 try inOne new FileInputStream file inTwo new ObjectInputStream inOne 学生散列表 Hashtable inTwo readObject inOne close inTwo close catch Exception ee if 学生散列表 containsKey number Student stu Student 学生散列表 get number 姓名 setText stu getName 专业 setText stu getSpecialty 19 年级 setText stu getGrade 出生 setText stu getBorth if stu getSex equals 男 男 setSelected true else 女 setSelected true String m 确定要删除该学生的记录吗 int ok JOptionPane showConfirmDialog null m 确认 JOptionPane YES NO OPTION JOptionPane QUESTION MESSAGE if ok JOptionPane YES OPTION 学生散列表 remove number try outOne new FileOutputStream file outTwo new ObjectOutputStream outOne outTwo writeObject 学生散列表 outTwo close outOne close 学号 setText null 姓名 setText null 专业 setText null 年级 setText null 出生 setText null catch Exception ee System out println ee else if ok JOptionPane NO OPTION 学号 setText null 姓名 setText null 专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年职业技能鉴定-铁路职业技能鉴定-货运员(初级工)历年参考题库含答案解析(5套)
- 2025年综合评标专家-黑龙江-黑龙江综合评标专家(工程监理类)历年参考题库含答案解析(5套)
- 热电厂生产工艺培训课件
- 热浸镀锌基础知识培训
- 职专园艺考试题及答案
- 烧烤摊防火安全知识培训课件
- 烤红薯美育课件
- 存款保险知识培训总结课件
- 烟厂基础知识培训课件小结
- 陕西省华阴市2025年上半年事业单位公开招聘教师岗试题含答案分析
- 巷道围岩注浆加固施工安全技术措施
- 实验中学初一新生分班考试数学试卷附答案
- 区治安巡防队员面试题
- 施工组织设计施工总体部署完整版
- TUPSW微机控制电力专用不间断电源(UPS)系统使用说明书
- 骨质疏松诊治与中医药
- LY/T 2383-2014结构用木材强度等级
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- 中日关系历史
- GB/T 15171-1994软包装件密封性能试验方法
- 2023年江苏省中学生生物学竞赛(奥赛)初赛试题和答案
评论
0/150
提交评论