大学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. 学生能够掌握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、考勤日期、考勤状态等字段。

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

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

java课程设计学生信息管理系统设计总结一、背景在本次Java课程设计中,我选择了“学生信息管理系统”作为设计主题。

目的是通过这一实践项目,深入掌握Java编程的核心知识,提升解决实际问题的能力,并为学生信息管理提供一个简洁、高效、易用的工具。

二、系统设计1. 需求分析:首先,我详细分析了学生信息管理的基本需求,包括学生基本信息的录入、查询、修改和删除,以及数据的持久化存储等。

2. 架构设计:基于MVC(Model-View-Controller)模式,我设计了系统的整体架构。

Model层负责数据处理和存储,View层提供用户界面,Controller层则负责业务逻辑的处理。

3. 数据库设计:使用关系型数据库(如MySQL)存储学生信息,设计了合理的数据表结构,包括学生表、课程表、成绩表等。

4. 界面设计:采用Java Swing或JavaFX框架,设计了直观、友好的用户界面,方便用户进行操作。

三、功能实现1. 基本功能:实现了学生信息的录入、查询、修改和删除功能。

通过SQL语句与数据库进行交互,实现了数据的增删改查。

2. 高级功能:根据学生选课情况,实现了课程管理和成绩管理的功能。

同时,加入了数据校验和错误处理机制,提高了系统的健壮性。

3. 优化与扩展:考虑到系统性能和可扩展性,采用了连接池技术优化数据库连接。

同时,预留了接口,方便未来功能的扩展。

四、遇到的问题与解决方案1. 数据库连接问题:最初在连接数据库时遇到了困难。

通过查阅文档和调试代码,最终解决了连接配置的问题。

2. 界面布局问题:在设计用户界面时,遇到了布局不合理的问题。

通过调整组件的位置和大小,以及使用布局管理器,最终实现了满意的界面效果。

3. 性能优化问题:在系统测试阶段发现性能瓶颈。

通过优化SQL 语句、使用索引和缓存技术等手段,提高了系统的运行效率。

五、收获与展望通过本次课程设计,我深刻体会到了Java编程的魅力和挑战。

在实际开发过程中,我不仅掌握了Java的核心知识和相关技术,还学会了如何分析问题、设计方案和解决问题。

JAVA课程设计报告 学生信息管理系统

JAVA课程设计报告 学生信息管理系统
1.21
该学生信息管理系统的设计要求主要有以下几点:
(1)使用图形用户界面;
(2)用数据库建立几个学生信息表;
(3)能连接数据库并实现对学生信息查询、增、删、改等功能。
1.2 2
系统主要分为以下几个模块:
(1)个人信息管理
(2)选课信息管理
(3)奖励信息管理
系统主要包括以下几项功能:
(1)添加学生信息;
JAVA程序设计课程设计报告
课题:学生信息管理系统
姓名:
学号:201117030234
同组姓名:
专业班级:网络工程11102班
指导教师:
设计时间:2013—6—24
1.
1.1
本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低.本程序数据库采用SQL server2005进行数据存储,该数据库可实现关系较为简单的数据管理。
(2)查询学生信息;
(3)删除学生信息;
(4)修改学生信息.
1
1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生信息)。
2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。
3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。
extends JPanel {

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

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

java课程设计学生信息管理系统一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和编程技巧,能够运用Java语言实现简单的学生信息管理系统。

具体目标如下:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–了解学生信息管理系统的功能和结构。

2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程方法设计和实现学生信息管理系统;–能够对程序进行调试和优化。

3.情感态度价值观目标:–培养学生的编程兴趣和自主学习能力;–培养学生解决问题的能力和团队合作精神;–使学生认识到计算机技术在现实生活中的重要性和应用价值。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据结构;2.面向对象编程的基本概念和方法;3.学生信息管理系统的功能和结构;4.学生信息管理系统的实现和优化。

具体安排如下:1.第1-2课时:讲解Java语言的基本语法和数据结构;2.第3-4课时:讲解面向对象编程的基本概念和方法;3.第5-6课时:介绍学生信息管理系统的功能和结构;4.第7-8课时:引导学生实现和优化学生信息管理系统。

三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Java语言的基本语法和数据结构,面向对象编程的基本概念和方法;2.案例分析法:分析实际的学生信息管理系统的案例,使学生更好地理解理论知识;3.实验法:引导学生动手实现和优化学生信息管理系统,提高学生的实际编程能力。

四、教学资源本节课所需的教学资源包括:1.教材:Java编程语言相关教材;2.参考书:面向对象编程相关参考书;3.多媒体资料:讲解Java语言和面向对象编程的PPT;4.实验设备:计算机和网络设备,以便进行编程实践。

五、教学评估本节课的教学评估将采用多元化评价方式,以全面、客观、公正地评估学生的学习成果。

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

(JA V A程序设计)学生信息管理系统起止日期:2013 年06 月10日至2013 年06 月14 日学生姓名贾光明班级网络102班学号***********成绩指导教师(签字)计算机与通信学院2013年06 月摘要本系统主要完成对学生信息的管理,包括录入、添加、修改、删除、查询、打印信息等方面。

系统可以完成对各类系统浏览、查询、添加、删除、修改等功能。

系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的修改其他的表,当完成添加删除操作时系统会自动地完成学生信息的修改。

设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。

要求如下:(1)具有简单的录入,查询和修改功能。

(2)修改学生信息必须输入学号,然后对姓名、性别等修改;(3)使用文件存储数据。

(也可用数据库)目录一、课程设计的目的与意义 (3)1.目的 (3)2.意义 (3)二、需求分析 (3)1. 学生学籍管理系统主界面模块 (3)2. 录入学生基本信息模块 (3)3. 修改学生基本信息模板 (3)3. 查询学生基本信息模板 (3)4. 删除学生基本信息模板 (3)三、分案设计 (3)1. 定义四个Panel面板 (4)四、方案的实施 (5)五、心得体会 (16)六、参考文献 (18)一、课程设计的目的与意义目的:深入理解java语言的语法规则及其优势,掌握类与方法的构造方法,掌握基于java的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。

在实践中培养独立分析问题和解决问题的作风和能力。

意义:熟练运用java语言、基本构造方法和算法的基础知识,独立编制一个具有中等难度的、解决实际应用问题的应用程序。

通过题意分析、选择类结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,不断地完善程序以提高程序的性能。

二、需求分析该学生学籍管理系统的所有功能均在一个Frame窗体中实现。

①学生学籍管理系统主界面模块:采用Frame窗体来设置欢迎界面包括背景图片及字幕(可以设计成滚动字幕效果),左上方的菜单条设计成下拉式。

包括“录入学生基本信息”、“修改学生基本信息”、“删除学生基本信息”、“查询学生基本信息”和“退出系统”五项菜单项。

②录入学生基本信息模块:采用Panel面板来设置该部分内容信息并采用方位布局(边缘布局)和Box轻量级组件来设置“学号”、“姓名”、“性别”、“专业”、“年级”、“出生”,并在该面板中添加了“录入”和“重置”两个按钮进行监听,最后将该面板加入到Frame窗体中去。

③修改学生基本信息模板:采用Panel面板来设置该部分内容信息,同样是采用方位布局及Box组件来设置相关信息,并在学号旁设置了“开始修改”按钮。

在面板南部方位添加了“确定修改”和“重置”两按钮进行监听。

④查询学生基本信息模板:采用Panel面板来设置该部分内容信息,并将该面板加入到主窗体中去,采用边缘布局进行方位设置,在上方加入“查询”按钮进行监听。

⑤删除学生基本信息模板:也是采用Panel面板进行设置相关内容,并用边缘布局进行布局,并在上方添加“确定”按钮,在下方添加“确定删除”按钮实现监听。

三、分案设计定义四个Panel面板1.定义Reg(录入学生基本信息)面板采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“录入学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

然后在面板的South方位设置“录入”与“重置”两按钮。

最后实现与数据库的桥接,能够将从文本框获得的信息存储到数据库中去。

2.定义Search(查询学生基本信息)面板该部分同样采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“查询学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一个“查询”按钮。

并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

然后Box 与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去。

3.定义Modify(修改学生基本信息)面板该部分同样也是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box 轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

并在“学号”该文本框后添加一个“开始修改”按钮用来监听。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,并将修改后的信息存储到数据库中去。

4.定义Delete(删除学生基本信息)面板该部分还是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一“确定”按钮实现监听。

并将其所有文本框和标签加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。

并在“学号”该文本框后添加一个“开始修改”按钮用来监听。

然后Box 与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量,还在本面板的South方位添加“确定删除”按钮。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,删除后同时在数据库中也删除该信息并保存该操作。

四、方案的实施1、学生信息管理系统的登录学生信息管理系统可由管理员和学生两种身份的人使用。

管理员和学生身份登录所能操作的功能有很大的区别。

系统初始化一个系统管理员,登录名:admin 密码:admin学生登录系统的登录名为学号,密码也为学号(如:10001),登录后可以修改密码。

登录界面登录系统后的界面注册学生信息界面修改学生信息界面查询学生信息界面删除学生信息界面1 程序类的设计DeleteListener.java:删除监听JTMouseListener.java:树状视图LoginListener.java:登陆监听ResetListener.java:重置监听SaveListener.java:保存监听SearchAllListener.java:搜索所有学生信息SearchDListener.java:搜索一个学生信息SearchListener.java:搜索一个学生信息SearchRListener.java:搜索一个学生信息SubmitListener.java:提交信息监听2 系统的使用说明及环境配置学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:admin 密码:admin 登录系统后可以进行相应的操作。

学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。

数据库:Mysql连接数据库的登录名:root 密码:zfz代码:DeleteListener.java:删除监听package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JOptionPane;import manager.dao.JdbcIcpCURD;import manager.ui.conponent.DeletePanel;public class DeleteListener implements ActionListener {public void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();DeletePanel dp=(DeletePanel) jb.getParent();String xuehao=dp.xuehaoFd.getText();String msg= "你确定要删除学号为"+xuehao+"的学生信息么?";int i=JOptionPane.showConfirmDialog(dp,msg,"提示信息",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);if(i==0){JdbcIcpCURD curd=new JdbcIcpCURD();boolean b=curd.deleteByXuehao(Integer.parseInt(xuehao));if(b){dp.errorLb.setText("删除成功");}else{dp.errorLb.setText("删除失败");}}return;}}JTMouseListener.java:树状视图package manager.ui.listener;import java.awt.CardLayout;import ponent;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JTree;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.TreeNode;import javax.swing.tree.TreePath;import manager.ui.conponent.MainFrame;import manager.ui.conponent.PLeft;public class JTMouseListener implements MouseListener {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubJTree jt=(JTree) e.getSource();PLeft p=(PLeft) jt.getParent();MainFrame f=(MainFrame) p.getParent().getParent().getParent().getParent();TreePath path = jt.getPathForLocation(e.getX(), e.getY());if(path==null){return;}DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();String s=node.toString();CardLayout cl=f.getPright().getLayout();if(s.equals("注册学生")){cl.show(f.getPright(), "register");}if(s.equals("修改学生信息")){cl.show(f.getPright(), "modify");}if(s.equals("查询学生信息")){cl.show(f.getPright(), "search");}if(s.equals("删除学生信息")){cl.show(f.getPright(), "delete");}if(s.equals("学生信息管理")){cl.show(f.getPright(), "welcom");}}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}}LoginListener.java:登陆监听package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JOptionPane;import manager.ui.conponent.Login;import manager.ui.conponent.MainFrame;public class LoginListener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {JButton bt=(JButton) e.getSource();Login frame=(Login) bt.getParent().getParent().getParent().getParent();String username=ernameTa.getText().trim();String password=frame.passwordTa.getText().trim();if(username!=null||password!=null){if("admin".equals(username)&&"123".equals(password)){new MainFrame().setVisible(true);frame.dispose();}else{frame.messageLb.setText("用户名或密码错误");}}else{frame.messageLb.setText("用户名或密码错误");}}}ResetListener.java:重置监听package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import manager.ui.conponent.RegPanel;public class ResetListener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();RegPanel jp=(RegPanel) jb.getParent();jp.xuehaoFd.setText("");Fd.setText("");jp.addressFd.setText("");}}SaveListener.java:保存监听package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.ModifyPanel;public class SaveListener implements ActionListener { @Overridepublic void actionPerformed(ActionEvent e) { JButton jb=(JButton) e.getSource();ModifyPanel mp=(ModifyPanel) jb.getParent();String xuehao=mp.xuehaoTf.getText().trim();String name=Tf.getText().trim();String gender=mp.genderTf.getText().trim();String address=mp.addressTf.getText().trim();String oldXuehao=mp.xuehaoFd.getText().trim();if(oldXuehao==null||xuehao.equals("")){oldXuehao=xuehao;}if(xuehao==null||xuehao.equals("")){mp.errorLb.setText("请输入修改后的学号...");return;}if(name==null||name.equals("")){mp.errorLb.setText("请输入修改后的姓名...");return;}if(gender==null||gender.equals("")){mp.errorLb.setText("请输入修改后的性别...");return;}if(address==null||address.equals("")){mp.errorLb.setText("请输入修改后的地址...");return;}Student stu=new Student();stu.setXuehao(Integer.parseInt(xuehao));stu.setName(name);stu.setGender(gender);stu.setAddress(address);int old=Integer.parseInt(oldXuehao);JdbcIcpCURD curd=new JdbcIcpCURD();if(curd.modify(stu, old)){mp.errorLb.setText("修改成功...");}}}SearchAllListener.java:搜索所有学生信息package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Vector;import javax.swing.JButton;import javax.swing.JTextArea;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.SearchPanel;public class SearchAllListener implements ActionListener { @Overridepublic void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();SearchPanel sp=(SearchPanel) jb.getParent();JTextArea jt=sp.resultTa;JdbcIcpCURD curd=new JdbcIcpCURD();Vector<Student> students=curd.getAllStudent();StringBuilder sb=new StringBuilder();for(Student s:students){sb.append(" ");sb.append(s.getXuehao());sb.append("\t");sb.append(s.getName());sb.append("\t");sb.append(s.getGender());sb.append("\t");sb.append(s.getAddress());sb.append("\t");sb.append(s.getRegTime().toString());sb.append("\n");}jt.setText(sb.toString());}}SearchDListener.java:搜索一个学生信息package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.DeletePanel;import manager.ui.conponent.ModifyPanel;import manager.ui.conponent.SearchPanel;public class SearchDListener implements ActionListener { @Overridepublic void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();DeletePanel dp=(DeletePanel) jb.getParent();JdbcIcpCURD curd=new JdbcIcpCURD();String s=dp.xuehaoFd.getText().trim();Student stu=curd.searchByXuehao(Integer.parseInt(s));if(stu==null){dp.errorLb.setText("没有查询到此学生");return;}dp.xuehaoTf.setText(new Integer(stu.getXuehao()).toString());Tf.setText(stu.getName());dp.genderTf.setText(stu.getGender());dp.addressTf.setText(stu.getAddress());}}SearchListener.java:搜索一个学生信息package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.ModifyPanel;public class SearchListener implements ActionListener { @Overridepublic void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();ModifyPanel mp=(ModifyPanel) jb.getParent();String s=mp.xuehaoFd.getText().trim();if(s==null||s.equals("")){mp.errorLb.setText("请输入学号..");return;}JdbcIcpCURD curd=new JdbcIcpCURD();Student stu=curd.searchByXuehao(Integer.parseInt(s));mp.xuehaoTf.setText(new Integer(stu.getXuehao()).toString());Tf.setText(stu.getName());mp.genderTf.setText(stu.getGender());mp.addressTf.setText(stu.getAddress());}}SearchRListener.java:搜索一个学生信息package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.ModifyPanel;import manager.ui.conponent.SearchPanel;public class SearchRListener implements ActionListener { @Overridepublic void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();SearchPanel sp=(SearchPanel) jb.getParent();JdbcIcpCURD curd=new JdbcIcpCURD();String s=sp.xuehaoTf.getText().trim();Student stu=curd.searchByXuehao(Integer.parseInt(s));if(stu==null){return;}StringBuilder sb=new StringBuilder();sb.append(" ");sb.append(stu.getXuehao());sb.append("\t");sb.append(stu.getName());sb.append("\t");sb.append(stu.getGender());sb.append("\t");sb.append(stu.getAddress());sb.append("\t");sb.append(stu.getRegTime().toString());sb.append("\n");sp.resultTa.setText(sb.toString());}}SubmitListener.java:提交信息监听package manager.ui.listener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Date;import javax.swing.JButton;import javax.swing.JLabel;import manager.dao.JdbcIcpCURD;import manager.domain.Student;import manager.ui.conponent.RegPanel;public class SubmitListener implements ActionListener { @Overridepublic void actionPerformed(ActionEvent e) {JButton jb=(JButton) e.getSource();RegPanel jp=(RegPanel) jb.getParent();String xuehao=jp.xuehaoFd.getText();String name=Fd.getText();String address=jp.addressFd.getText();String gender="";boolean b1=jp.maleRB.isSelected();boolean b2=jp.femaleRB.isSelected();if(b1){}JLabel errorLabel=jp.errorLabel;if(xuehao==null||xuehao.trim().equals("")){errorLabel.setText("没有填写学号..");return;}if(name==null||name.trim().equals("")){errorLabel.setText("没有填写姓名..");return;}if(address==null|address.trim().equals("")){errorLabel.setText("没有填写地址..");return;}if(!(b1||b2)){errorLabel.setText("请选择性别...");return;}if(b1){gender="男";}if(b2){gender="女";}Student stu=new Student(Integer.parseInt(xuehao),name,gender,new Date(System.currentTimeMillis()),address);JdbcIcpCURD curd=new JdbcIcpCURD();boolean b=curd.insert(stu);if(b){errorLabel.setText("注册成功!!");jp.xuehaoFd.setText("");Fd.setText("");jp.addressFd.setText("");}}}五、心得体会一周的时间很快就过去了,在这短暂的Java课程设计过程中,我们在一起学习,加深我们对Java学科认识的深度,平时没怎么太在乎。

相关文档
最新文档