Java课程设计学生信息管理系统

合集下载

java学生信息管理系统课程设计

java学生信息管理系统课程设计

java学生信息管理系统课程设计一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类与对象的关系、封装、继承和多态性;2. 学会使用Java集合框架管理学生信息,掌握ArrayList、HashMap等常用集合类的使用方法;3. 掌握Java异常处理机制,提高程序的健壮性;4. 理解数据库基本概念,学会使用SQLite数据库存储和管理学生信息。

技能目标:1. 能够运用面向对象思想设计学生信息管理系统,实现学生信息的增删改查功能;2. 能够使用Java集合框架对学生信息进行有效管理;3. 能够编写简单的数据库操作语句,实现对学生信息的数据存储和查询;4. 能够运用所学知识解决实际问题,具备一定的编程实践能力。

情感态度价值观目标:1. 培养学生团队协作精神,提高沟通与协作能力;2. 增强学生编程兴趣,激发创新意识,培养探索精神;3. 培养学生良好的编程习惯,注重代码规范和程序优化;4. 培养学生严谨的学习态度,面对问题敢于挑战,勇于克服困难。

课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的编程能力和实际应用能力。

学生特点:学生具备一定的Java基础,了解面向对象编程概念,但对实际项目开发经验不足。

教学要求:结合学生特点和课程性质,采用项目驱动教学法,引导学生自主探究,注重实践操作,提高学生的编程能力和解决问题的能力。

同时,关注学生的情感态度价值观培养,提高学生的综合素质。

通过本课程的学习,使学生能够独立完成一个简单的学生信息管理系统,为后续学习打下坚实基础。

二、教学内容1. 面向对象编程基础- 类与对象的关系- 封装、继承和多态性- 抽象类和接口2. Java集合框架- ArrayList、LinkedList、HashSet、HashMap等常用集合类- 集合类的使用场景和性能分析3. Java异常处理- 异常分类和异常处理机制- try-catch-finally结构- 自定义异常4. 数据库基础- 数据库概念和SQLite数据库- 数据表的设计与创建- SQL语句:增删改查操作5. 学生信息管理系统功能模块- 系统需求分析- 功能模块划分:学生信息管理、成绩管理、课程管理等- 编程实现各模块功能6. 项目实践与拓展- 系统测试与调试- 代码优化与重构- 项目拓展:增加用户权限管理、数据可视化等教学内容安排与进度:第一周:面向对象编程基础第二周:Java集合框架第三周:Java异常处理第四周:数据库基础第五周:学生信息管理系统功能模块设计第六周:项目实践与拓展教材关联:本教学内容与《Java程序设计》教材相关章节紧密关联,涵盖了面向对象编程、Java集合框架、异常处理和数据库基础等知识点。

学生管理系统java课程设计

学生管理系统java课程设计

学生管理系统java课程设计一、课程目标知识目标:1. 掌握Java语言面向对象编程的基本原理,包括类、对象、继承、封装和多态;2. 学会使用Java集合框架,如List、Set、Map等,进行数据管理;3. 理解数据库连接和SQL语句执行过程,掌握JDBC操作数据库的基本方法;4. 了解学生管理系统的业务需求,掌握系统设计的基本流程。

技能目标:1. 能够运用面向对象思想,独立设计并实现Java类;2. 能够运用Java集合框架,实现对学生信息的增、删、改、查等操作;3. 能够使用JDBC连接数据库,执行SQL语句,实现数据的持久化存储;4. 能够根据需求分析,完成学生管理系统的设计与实现,具备一定的项目实践能力。

情感态度价值观目标:1. 培养学生的团队协作意识,学会与他人共同分析问题、解决问题;2. 培养学生面对实际问题的解决能力,增强自信心和成就感;3. 培养学生对计算机编程的兴趣,激发自主学习和持续探索的热情;4. 培养学生具备良好的编程习惯,注重代码规范和可维护性。

本课程针对高年级学生,结合学科特点和教学要求,以实际项目为载体,使学生掌握Java编程的核心知识,提高实际操作能力,培养团队协作和解决问题的能力。

通过课程学习,为学生今后的软件开发和项目实践打下坚实基础。

二、教学内容1. Java面向对象编程基础:讲解类与对象的概念,属性、方法、构造器的定义与使用,掌握封装、继承和多态等核心概念。

教材章节:第1章 面向对象编程基础内容安排:2课时2. Java集合框架:学习List、Set、Map等集合接口及其实现类的使用,掌握集合的增删改查操作。

教材章节:第2章 Java集合框架内容安排:2课时3. 数据库基础与JDBC:介绍数据库的基本概念,讲解JDBC连接数据库、执行SQL语句、处理结果集等方法。

教材章节:第3章 数据库编程内容安排:3课时4. 学生管理系统需求分析:分析学生管理系统的功能模块,明确系统需求,学习如何进行需求调研和撰写需求文档。

学生管理系统JAVA课课程设计

学生管理系统JAVA课课程设计

学生管理系统JAVA课课程设计一、教学目标本课程的目标是让学生掌握学生管理系统的Java编程知识,能够运用Java语言实现一个简单的学生管理系统。

具体目标如下:1.知识目标:–理解Java语言的基本语法和数据结构。

–掌握Java中的控制结构和面向对象编程思想。

–了解Java中的文件操作和数据库连接。

2.技能目标:–能够使用Java编写简单的程序,实现学生的增删改查功能。

–能够使用Java连接数据库,实现对学生信息的持久化存储。

–能够使用Java的文件操作,读写学生数据。

3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决问题的能力。

–培养学生团队协作的精神,提高学生的沟通表达能力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言基础:包括基本语法、数据类型、变量、运算符等。

2.控制结构:包括条件语句、循环语句等。

3.面向对象编程:包括类、对象、继承、多态等。

4.文件操作:包括文件的读写、文件管理等。

5.数据库连接:包括JDBC的概念、数据库的连接与操作等。

6.学生管理系统的设计与实现:包括系统需求分析、系统设计、功能实现等。

三、教学方法为了达到课程目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解Java语言基础、控制结构、面向对象编程等理论知识。

2.案例分析法:通过分析实际案例,让学生理解并掌握文件操作和数据库连接的方法。

3.实验法:让学生动手编写代码,实现学生管理系统,提高学生的实际操作能力。

4.小组讨论法:分组让学生讨论问题,培养学生的团队协作和沟通能力。

四、教学资源为了支持课程的顺利进行,我们将准备以下教学资源:1.教材:《Java编程思想》等。

2.参考书:《Java核心技术》、《Java Web开发》等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、网络环境、数据库服务器等。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。

学生信息管理系统java课程设计(含源代码)

学生信息管理系统java课程设计(含源代码)

JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。

1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。

评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。

1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。

1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。

1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。

一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。

所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。

随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。

例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。

学生信息管理系统java课程设计

学生信息管理系统java课程设计
课程设计成果:成功开发出一套学生信息管理系统,实现了对学生信息的增删改查等功能
课程设计收获:提高了Java编程能力,加深了对面向对象编程思想的理解,掌握了数据库操作技 术,提高了团队协作能力
系统优缺点分析
系统优点: a. 界面友好,操作简单 b. 数据管理方便, 易于维护 c. 安全性高,数据加密存储 d. 可扩展性强, 易于升级和维护 a. 界面友好,操作简单
性和稳定性
业务逻辑层实现
业务逻辑层是系统的核心部分,负责处理业务逻辑 业务逻辑层实现包括用户登录、注册、修改密码等功能 业务逻辑层实现还包括用户信息管理、课程信息管理等功能 业务逻辑层实现需要与数据库层进行交互,实现数据的存储和读取
表现层实现
使用Java Swing或JavaFX进行界面设计 实现登录、注册、修改密码等功能 实现数据查询、修改、删除等功能 实现数据导入、导出等功能 实现系统设置、帮助等功能 实现错误处理和异常处理机制
系统功能需求
学生信息管理:包括学生基本信息、成绩、课程等信息的 管理
教师信息管理:包括教师基本信息、课程、教学评价等信 息的管理
课程信息管理:包括课程基本信息、课程安排、课程评价 等信息的管理
成绩管理:包括学生成绩查询、成绩统计、成绩分析等功 能
教学评价管理:包括教师对学生的评价、学生对教师的评 价等功能
系统维护:包括系统用户管理、系统日志管理等功能
系统开发环境
开发语言:Java 开发工具:Eclipse或IntelliJ IDEA 数据库:MySQL或Oracle
操作系统:Windows或Linux
网络环境:局域网或互联网
硬件要求:CPU、内存、硬盘、显示器 等
系统设计
数据库设计

java学生管理系统课程设计报告

java学生管理系统课程设计报告

Java学生管理系统课程设计报告1. 引言学生管理系统是针对学校或教育机构开发的一款软件系统,旨在方便学校管理学生信息、课程安排和学生成绩等方面的工作。

本报告将详细介绍Java学生管理系统的设计与实现过程。

2. 系统需求分析学生管理系统通常需要具备以下功能:•学生信息管理:包括学生基本信息的录入、修改、删除和查询等操作。

•课程管理:可以添加、编辑、删除课程信息,并能将课程分配给相应的学生。

•成绩管理:记录学生的成绩,并可以按照课程和学生进行查询和统计。

•用户权限管理:对不同的系统用户进行权限管理,确保系统安全和数据保密性。

根据需求分析,我们将使用Java编程语言来设计和实现学生管理系统。

3. 系统设计3.1 技术选型本系统将使用Java语言进行开发,选择使用Java的原因如下:•Java具有较高的跨平台性,可以在不同的操作系统上运行。

•Java拥有丰富的类库和开发工具,可以方便地进行系统开发和维护。

•Java具有良好的面向对象特性,可以实现系统的模块化设计和复用。

3.2 系统结构设计学生管理系统可以按照MVC(Model-View-Controller)设计模式进行结构设计。

具体的系统结构如下:•模型(Model):负责处理与数据相关的操作,包括学生信息、课程和成绩等的存储和管理。

•视图(View):负责显示系统界面和获取用户输入,将用户的操作请求传递给控制器。

•控制器(Controller):负责处理用户的操作请求,调用模型和视图来完成相应的业务逻辑。

3.3 类设计系统将包括以下核心类:•学生管理类(StudentManager):负责学生信息的添加、修改、查询和删除等操作。

•课程管理类(CourseManager):负责课程信息的添加、修改、查询和删除等操作。

•成绩管理类(ScoreManager):负责学生成绩的录入、查询和统计等操作。

•用户权限管理类(UserManager):负责用户的登录和权限管理。

课程信息管理系统java课程设计

课程信息管理系统java课程设计

课程信息管理系统java课程设计一、课程目标知识目标:1. 学生能够掌握Java语言基础,包括数据类型、控制结构、类与对象等;2. 学生能够理解课程信息管理系统的功能需求,掌握系统设计的基本原理;3. 学生能够运用所学知识,实现课程信息管理系统的基本功能模块。

技能目标:1. 学生能够运用Java语言编写程序,实现课程信息管理系统的功能;2. 学生能够运用面向对象编程思想,进行系统设计和模块划分;3. 学生能够运用调试工具,调试并优化自己的程序。

情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情;2. 学生在团队协作中,学会沟通、分享和承担责任;3. 学生能够认识到编程在生活中的应用,提高对信息技术的认识。

课程性质:本课程为实践性较强的学科,要求学生结合所学理论知识,动手实践,培养编程能力和实际应用能力。

学生特点:学生处于高年级阶段,具有一定的Java编程基础,对面向对象编程有一定的了解,具备一定的自主学习能力。

教学要求:结合课程性质、学生特点,注重理论与实践相结合,培养学生的编程能力和实际应用能力。

通过课程学习,使学生能够独立完成课程信息管理系统的设计与实现。

同时,关注学生的情感态度价值观培养,提高学生的团队协作能力和信息技术素养。

将课程目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. Java语言基础回顾:数据类型、控制结构、数组、类与对象等基本概念;2. 面向对象编程:封装、继承、多态等核心概念,以及设计模式初步了解;3. 课程信息管理系统需求分析:梳理系统功能,明确模块划分;4. 数据库基础:SQL语句编写,数据库连接与操作;5. Java图形用户界面(GUI)设计:Swing组件的使用,界面布局与美化;6. 课程信息管理系统的设计与实现:- 系统架构设计:分层设计,模块划分;- 功能模块开发:课程信息添加、修改、删除、查询等;- 系统测试与优化:测试用例设计,性能优化;7. 项目实践与团队协作:分组进行项目实践,培养学生的团队协作能力。

原创java课程设计学生信息管理系统

原创java课程设计学生信息管理系统

原创Java课程设计学生信息管理系统引言学生信息管理系统是一种用于管理学生信息的软件工具,它可以方便、高效地记录、存储和查询学生的基本信息、课程成绩、考勤情况等。

本文将介绍一个原创的Java课程设计学生信息管理系统,该系统可以帮助教师和学校管理人员更好地管理学生信息。

功能需求学生信息管理系统应具备以下基本功能: - 学生信息录入:包括学生的基本信息,如姓名、性别、年龄、联系方式等。

- 学生信息修改:可以修改学生的基本信息,如年龄、联系方式等。

- 学生信息查询:可以根据姓名、学号等关键字进行学生信息的查询。

- 成绩管理:可以录入学生的课程成绩,并进行统计、排名等操作。

- 考勤管理:可以记录学生的考勤情况,如出勤、迟到、旷课等。

- 学生信息导出:可以将学生的基本信息、成绩、考勤情况等导出为Excel或CSV格式的文件。

- 数据备份与恢复:可以进行学生信息的数据备份与恢复,以防止数据丢失。

系统设计学生信息管理系统采用Java语言进行开发,使用MySQL作为数据库进行数据存储。

系统采用面向对象的设计思想,使用MVC(Model-View-Controller)架构模式进行设计。

模块划分系统可以划分为以下几个模块: - 学生信息录入模块:负责学生信息的录入和修改。

- 学生信息查询模块:负责学生信息的查询和展示。

- 成绩管理模块:负责成绩的录入、统计和排名。

- 考勤管理模块:负责考勤情况的记录与查询。

- 数据导入导出模块:负责学生信息的导入导出。

- 数据备份与恢复模块:负责学生信息的数据备份和恢复。

数据库设计系统使用MySQL数据库进行数据存储,设计以下几个表: - 学生表(students):存储学生的基本信息,包括姓名、性别、年龄、联系方式等字段。

- 成绩表(grades):存储学生的课程成绩,包括学生ID、课程ID、成绩等字段。

- 考勤表(attendance):存储学生的考勤情况,包括学生ID、考勤日期、考勤状态等字段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》课程设计报告题目:《**********》课程设计学院:信息工程学院姓名: *** **** ******学号: ** ** **专业:计算科学与技术班级: *****指导教师: *****2015 年 12月目录目录 ................................................................... 摘要 ...................................................................1.引言 .................................................................2.设计目的与任务 ........................................................3. 设计方案 .............................................................3.1总体设计......................................................3.2开发环境......................................................3.3层次图........................................................3.4界面预览......................................................3.4.1登录界面 ..................................................3.4.2该管理员不存在( 用户名:name 用户密码:psw ) .............3.4.3学生信息管理界面 ..........................................3.4.4填写学生信息 ..............................................3.4.5录入学生信息 ..............................................3.4.6查询学生信息 ..............................................3.4.7修改学生信息 ..............................................3.4.8删除学生信息 ..............................................3.4.9显示所有学生信息 ..........................................4.系统说明 ..............................................................5.设计体会与小结 ........................................................6.附录 .................................................................6.1登录界面源代码 Login.java.....................................6.2学生信息管理系统源码 Student.java.............................摘要随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。

通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。

目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。

该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。

使用Java程序编写,能够进行学生信息录入、修改、查看、删除等操作。

该程序主要用到了Java swing和事件监听等。

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.设计目的与任务学生信息管理系统是一个教育单位不可缺少的部分。

一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。

所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。

在计算机网络,数据库和先进的开发平台上,利用现有的软件、硬件资源,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的学生信息管理系统。

这个简单的学生信息管理系统包括以下两个基本功能:·管理员登陆·学生信息管理本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生管理信息系统。

3.设计方案3.1总体设计本程序要构建的学生管理系统程序其功能有以下几个方面:(1)首先是学生管理系统主界面“管理员登录界面”。

(2)管理员登录之后的子界面“学生信息管理界面”。

(3)学生信息管理界面可对学生信息进行填写操作。

(4)学生信息管理界面底端并含有“录入、查询、修改、删除、显示”五个操作按钮。

3.2 开发环境3.3 层次图3.4 界面预览3.4.1 登录界面3.4.2 该管理员不存在( 用户名:name 用户密码:psw )3.4.3 学生信息管理界面3.4.4 填写学生信息3.4.5 录入学生信息3.4.6 查询学生信息3.4.7 修改学生信息3.4.8 删除学生信息3.4.9 显示所有学生信息4.系统说明1、该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中。

2、关于管理员信息,必须现在C 盘建立一个名为 Login 的文本文档,在 Login 中存入用户名和密码且必须分行写入。

3、若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改。

添加学查询学修改学删除学显示学5.设计体会与小结通过这次课程设计,我们大家在老师的帮助下收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。

编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。

这次的课程设计使我对JAVA的许多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。

本次Java课程设计的锻炼,不仅我们的分析问题跟解决问题的能力都得到明显的提高,在这次事件过程中收获很多,对我们而言,知识上的收回,尽管遇到了困难,但还是通过各种途径克服问题。

做小小的测试,通过了就很开心,收获颇多,但是知识还是欠缺,我们会继续努力。

6.附录6.1 登录界面源代码 Login.javapackage aa;import .*;import javax.swing.*;import java.awt.*;importimportimportimportimportimportimportimportimport 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);JLabel JL=new JLabel("<html><font color=#CC00FF size='4'><i>欢迎进入信息工程学院管理系统</i></font>",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();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();}else{String[] str=temp.split(",");name=str[0];psw=str[1];if((t1.getText().trim().equals(name))&&(t2.getText().equals(psw))){ new Test();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.javapackage aa;import java.awt.*;importimport javax.swing.*;import java.io.*;import java.util.*;public class Student implementsString 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){=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(女);录入=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(显示);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);}//endif1else{String m="该生信息将被录入?";intok=JOptionPane.showConfirmDialog(null,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_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=newFileOutputStream(file);outTwo=newObjectOutputStream(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}//endif0else{String warning="必须输入学号?"; JOptionPane.showMessageDialog(null,warning, " 警告",JOptionPane.WARNING_MESSAGE);}//end else0}//end actionPerformed}//end classclass InquestAct implements ActionListener{ public void actionPerformed(ActionEvent e){ 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();} 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());年级.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);专业.setText(null);年级.setText(null);出生.setText(null);}else{String warning="该学号不存在?";JOptionPane.showMessageDialog(null,warning," 警告",JOptionPane.WARNING_MESSAGE);}}else{String warning="必须输入学号?";JOptionPane.showMessageDialog(null,warning," 警告",JOptionPane.WARNING_MESSAGE);}}}class ShowAct implements ActionListener{public void actionPerformed(ActionEvent e){new StudentShow(file);}}class StudentShow extends JDialog{ Hashtable 学生散列表=null;JTextArea 显示=null;FileInputStream inOne=null; ObjectInputStream inTwo=null;File file=null;public StudentShow(File file){super(new JFrame(),"显示对话框");this.file=file;显示 =new JTextArea(16,30);try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject(); inOne.close();inTwo.close();}catch(Exception ee){}if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录?\n"); else{显示.setText("学号姓名性别专业年级出生\n");for(Enumeration enm= 学生散列表.elements();enm.hasMoreElements();){ Student stu=(Student)enm.nextElement();String sex="";if(stu.getSex().equals("男"))sex="男";else sex="女";Stringstr=stu.getNumber()+","+stu.getName()+","+sex+","+stu.getSpecialty()+","+stu.getGrade()+","+stu.getBorth()+"\n";显示.append(str);}}JScrollPane scroll=new JScrollPane(显示);Container con=getContentPane();con.add("Center",scroll);con.validate();setVisible(true);setBounds(200,200,400,300);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);} });}}}。

相关文档
最新文档