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

上传人:1777****777 文档编号:39481355 上传时间:2021-11-11 格式:DOC 页数:41 大小:270.52KB
收藏 版权申诉 举报 下载
java课程设计学生管理信息系统论文_第1页
第1页 / 共41页
java课程设计学生管理信息系统论文_第2页
第2页 / 共41页
java课程设计学生管理信息系统论文_第3页
第3页 / 共41页
资源描述:

《java课程设计学生管理信息系统论文》由会员分享,可在线阅读,更多相关《java课程设计学生管理信息系统论文(41页珍藏版)》请在装配图网上搜索。

1、课 程 设 计 报 告 书 专 用 纸1 引 言由于学生信息的冗长与繁琐,所以它的管理问题带来的麻烦和不方便也随之而来。所以开发一个适合学校的、便于管理的学生信息管理系统是十分必要的。随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本课程设计研究了一种基于数据关联规则的网络学生信息管理系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。11课题背景及意义由于高等学校的快速发展,高校的规模也越来越大,学生数量和课程量都迅速地增长,管理上的手工操作不仅仅会耗费学生与

2、工作人员大量的时间和精力,效率以及准确性也很低。如何使同学们方便、快捷、准确地选课,以及老师们对学生的相关信息的管理,已经成为一个重要的问题。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。12 课题开发技术选择 本课题设计主要运用的技术有两个:java项目开发和oracle对数据库的操作。这里主要介绍本课题为什么选用这两个开发技

3、术:首先了解一下Java语言特点 Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性: 简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 下面我将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。 面向对象 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表

4、示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操

5、作。 多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operatoroverload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。 继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子

6、实体都具有汽车的特性,因此,汽车是它们的“父亲”,而这些子实体则是汽车的“孩子”。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。 平台无关性 Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,表明用C或C+写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身

7、具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。 另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完程序后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,

8、也确保了Java的平台无关性。 Java的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次Java的平台无关性正好迎合了“网络计算机”思想。如果大量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的用户将不需要占用大量空间安装软件,他们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统。 分布式 分布式包括数据分布和操作分布。数

9、据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。 Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。 Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。 可靠性和安全性 Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java虽然源于

10、C+,但它消除了许多C+不可靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。 由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防

11、止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。 上述几种机制结合起来,使得Java成为安全的编程语言。 多线程 线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。 C和C+采用单线程体系结构,而Java却提供了多线程支持。Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行

12、负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。必须注意地是,Java的多线程支持在一定程度上受运行时支持平台的限制。例如,如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。 oracle数据库的特点无范式要求,可根据实际系统需求构造数据库。 采用标准的SQL结构化查询语言。

13、具有丰富的开发工具,覆盖开发周期的各阶段。支持大型数据库,数据类型支持数字、字符、大至4GB的二进制数据,为数据库的面向存储提供数据支持。具有第四代语言的开发工具(SQL*formS、SQL*REPORTS、SQL*MENU等)。具有字符界面和图形界面,易于开发。通过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的 运行状态,调整数据缓冲区的大小。 分布优化查询功能。具有数据透明、网络透明,支持异种网络、异构数据库系统。并行 处理采用动态数据分片技术。支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、 客户机/服务器)。实现了两阶段提交、多线索查询手段。 支持多种系统平台(

14、HPUX、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2)。数据安全保护措施:没有读锁,采取快照SNAP方式完全消除了分布读写冲突。自动检测死锁和冲突并解决。 数据安全级别为C2级(最高级)。 数据库内模支持多字节码制,支持多种语言文字编码。具有面向制造系统的管理信息系统和财务系统应用系统。综上所述,选择java作为开发语言,oracle作为数据库开发工具是个不错的选择。java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性,使得开发出来的项目具有健壮性、可维护性、可移植性等特点。Oracle是目前最具权威的数据库产品,它具有的兼容性、可移植性、可

15、联结性、高生产率和开放性的特点,使它成为当今众多的程序开发人员首选的数据库开发工具。所以本课题选择java和oracle作为开发技术是为今后开发更复杂的项目打下基础,以免到时候遇到相关的技术问题而不知所措。13 课题实现技术的简要说明 本课题主要运用了java图形编程和oracle数据库的操作。Java图形编程给用户提供了一个直观、易于与用户进行交互的图形界面。在图形编程中,运用了大量的java.swing包中的类,之所以选择swing包中的类而不选java.awt包中的类,主要是swing包中的类能给用户提供更好的观感。oracle数据库的操作这部分内容分成三部分来实现:首先,编写对数据库操

16、作的类,包括:连接数据库、执行sql语句、关闭数据库连接等。其次,编写一个用于对学生信息进行数据库操作的类,包括:学生信息的增加、修改、删除和查询等。最后,编写一个用于对课程相关信息进行数据库操作的类,包括:对课程信息的增加、修改、删除、查询等等。通过结合图形编程和数据库编程,从而基本上实现了学生信息管理的基本功能,由于本人技术上的不足,难免有些地方需要改进,这些存在的问题都将成为本人前进的动力,并在日后更加完善本课题的设计。14可行性分析 技术可行性 系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。这里从两方面分析技术上的可行性。首先,对于java编程部分,java课已经开过,

17、本人基本上掌握了对java编程上技巧。加上暑假运用了大部分时间来对图形编程的学习。因此在课题设计中,对java图形编程方面的问题都能迎韧而解。其次,对于数据库的有关知识,本人运用了大量的时间对相关书籍的阅读以及上机实验,基本上掌握了运用oracle数据库技术,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上是可行的。 人员可行性 本人对该课程设计有足够的技术上的准备,并且时间上也足够充裕。所以在进行该课程设计中,不需要人员分工,整个设计过程都由本人完成,并且已经较好的完成了该项目的开发工作。所有,在人员可行性方面是可行的。2 功能需求分析本课题根据学生信息管理综合

18、分析,便出于方便管理考虑,将学生信息管理系统的功能总结起来,共需要实现以下几个方面功能:管理所有学生的基本信息,对学生信息的操作包括添加、修改、删除等;可以根据各种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中。3 学生信息管理系统设计31数据模型分析与设计数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等);模型的操纵部分规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。数据库模型的分类:分层模型、关系模型、网络模型和对象模型。本课题

19、选择的关系模型,关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系数据模型具有下列优点: 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。 关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结构也是关系(即表)。所以其数据结构简单、清晰,拥护易懂易用。 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。所以,关系数据模型诞生以后发展迅速,深受拥护的喜爱,这也是本课题选取关系数据模型的原因。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路件对用户透

20、明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。本课题的关系数据模型的数据结构可分为两个表来表示:学生信息表(Student)、课程信息表(Course)。 学生信息表用于记录学生的基本信息,如表1,表2。这两个表对应的E-R图是图3和图4:表1 学生信息表(Student)名称字段名称数据类型主键非空学号SnumNumber(10)YesYes学生姓名SnameVarchar2NoYes性别SsexChar(2)NoNo民族SminzuChar(2)NoNo籍贯ShomeVarchar2NoNo入学年份SyearChar(4

21、)NoNo专业SmajorVarchar2NoNo学院ScollegeVarchar2NoNo出生日期SbirthChar(8)NoNo表2 课程信息表(Course)名称字段名称数据类型主键非空课程编号CnumChar(4)YesYes课程名称CnameVarchar2NoYes授课教师CteacherVarchar2NoNo上课地点CplaceVarchar2NoNo课程类别CtypeChar(1)NoNo学生出生日期学号学生姓名性别学院民族专业籍贯入学年份图3 学生信息E-R图课程课程编号上课地点课程名称授课教师课程类别图4 课程信息E-R图32 结构设计与结构功能图3.2.1 结构设计

22、根据对系统进行需求分析,本系统将分为4个模块:学生管理课程管理成绩管理信息查询3.2.2 功能结构图学生管理系统功能结构如图5所示。学生管理系统学生管理课程管理成绩管理信息查询添加增加删除学生查询增加课程查询修改修改修改删除学生选课成绩查询按姓名查询按学号查询按性别查询按专业查询按学院查询按课程名称查询查询所有科目成绩按授课老师查询图5 学生管理系统功能结构图4 系统实现该系统由4个模块构成,包括学生管理系统主界面模块、学生信息管理模块、信息查询模块和数据操作模块。下面分别加以叙述:1. 学生管理系统主界面模块学生管理系统主界面模块包括StuMS.java和StuMain.java两个文件。S

23、tuMS是学生管理系统的主运行类,其中有运行整个程序的main方法,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的界面,如图4.1所示。StuMain类继承自JFrame类,实现了ActionListener接口,他有一个不带参数的构造方法StuMain(),用来生成StuMain的实例。StuMain类将所有功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个功能。2. 学生信息管理模块学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EdiStuInfo.java、DelStuInfo.java、SelectCourse.java和

24、StuInfoSearchSnum.java共计6个文件组成。3. 信息查询模块信息查询模块主要包括学生查询、信息查询2个部分。信息查询的运行主截面如图所示。查询数据,该部分是通过用户输入的欲查询的学生学号来查询该学生的详细信息。用户输入学号后如果数据库中不存在该学号的学生,系统将会提示该学生不存在信息。如果存在该学生系统将会输出该学生的详细信息,包括学生姓名、学号、性别,学生详细信息。4. 数据操作模块数据操作由StuSearchSnum.java、StuSearchSsex.java、StuSearchScollege.java、StuSearchSmajor.java和ResultStu

25、dent.java这6个文件组成,主要实现功能包括:修改学生信息,删除学生信息,查询信息等。5 详细设计与测试51系统代码设计详细设计是在对软件进行需求分析、设计规格说明后的编码设计阶段,是保证软件系统的关键步骤。如果要给软件测试下定义,可以这样讲,系统代码设计是最直接实现使用者目的设计阶段。根据对本系统的功能的详细介绍及对模块的划分,将详细代码设计如下:主函数:import javax.swing.UIManager;import java.awt.*;/* * 学生管理系统运行主类 */public class StuMS boolean packFrame = false;/* 构造函数

26、 */public StuMS() StuMain frame = new StuMain();if (packFrame) frame.pack();else frame.validate();/设置运行时窗口的位置Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize = frame.getSize();if (frameSize.height screenSize.height) frameSize.height = screenSize.height;if (frame

27、Size.width screenSize.width) frameSize.width = screenSize.width;frame.setLocation(screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);frame.setVisible(true);public static void main(String args) /设置运行风格try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNa

28、me();catch(Exception e) e.printStackTrace();new StuMS();课程信息管理模块,添加新的课程信息: */import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 课程信息管理模块 * 添加新的课程信息 */public class AddCourseInfo extends CourseInfoCrsBean getCnum = new CrsBean();public AddCourseInfo() this.setTitle(添加课程信息);this.setRes

29、izable(false);cNum.setEditable(false);cNum.setText(+getCnum.getCrsId();cName.setEditable(true);cTeacher.setEditable(true);cType.setEditable(true);cTime.setEditable(true);cPlace.setEditable(true);/设置运行位置,使对话框居中Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation( (int)

30、(screenSize.width - 400) / 2 ,(int) (screenSize.height - 300) / 2 +45);public void downInit()addInfo.setText(增加);addInfo.setFont(new Font(Dialog,0,12);downPanel.add(addInfo);clearInfo.setText(清空);clearInfo.setFont(new Font(Dialog,0,12);downPanel.add(clearInfo);eixtInfo.setText(退出);eixtInfo.setFont(n

31、ew Font(Dialog,0,12);downPanel.add(eixtInfo);this.contentPane.add(downPanel,BorderLayout.SOUTH);/添加事件侦听addInfo.addActionListener(this);clearInfo.addActionListener(this);eixtInfo.addActionListener(this);/* * 事件处理 */public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = eixtIn

32、fo) /退出this.dispose();else if (obj = addInfo) /增加cNum.setEnabled(false);cName.setEditable(false);cTeacher.setEditable(false);cType.setEditable(false);cTime.setEditable(false);cPlace.setEditable(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);CrsBean addCrs = n

33、ew CrsBean();addCrs.crsAdd(cName.getText(), cTeacher.getText(), cPlace.getText(), cType.getText(), cTime.getText();this.dispose();AddCourseInfo aci = new AddCourseInfo();aci.downInit();aci.pack();aci.setVisible(true);this.dispose();else if (obj = clearInfo) /清空setNull();cNum.setText(+getCnum.getCrsI

34、d();成绩信息管理模块,添加新的成绩信息:import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 成绩信息管理模块 * 添加新的成绩信息 */public class AddGradeInfo extends GradeInfo implements ActionListenerpublic AddGradeInfo() this.setTitle(添加成绩信息);this.setResizable(false);/设置运行位置,使对话框居中Dimension screenSize = Toolkit.getDe

35、faultToolkit().getScreenSize();this.setLocation( (int) (screenSize.width - 400) / 2 ,(int) (screenSize.height - 300) / 2 +45);public void downInit()addInfo.setText(增加);addInfo.setFont(new Font(Dialog,0,12);downPanel.add(addInfo);eixtInfo.setText(退出);eixtInfo.setFont(new Font(Dialog,0,12);downPanel.a

36、dd(eixtInfo);this.contentPane.add(downPanel,BorderLayout.SOUTH);sNum.addActionListener(this);addInfo.addActionListener(this);eixtInfo.addActionListener(this);/* 事件处理*/public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = addInfo) /增加cNum.setEnabled(false);cName.setEditable(

37、false);cTeacher.setEditable(false);Grade.setEditable(false);sNum.setEditable(false);sName.setEditable(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);csBean addGrade = new csBean();addGrade.csModify(cNum.getText(),(String)sNum.getSelectedItem(),Grade.getText()

38、;this.dispose();AddGradeInfo agi = new AddGradeInfo();agi.downInit();agi.pack();agi.setVisible(true);else if (obj = eixtInfo) /退出this.dispose();else if (obj = sNum) /选择学号StuBean sN = new StuBean();sName.setText(sN.stuSearch(String)sNum.getSelectedItem()0);if(cName.getItemCount()0)cName.removeAllItem

39、s();csBean cN = new csBean();cReturn = cN.cNameSearch(String)sNum.getSelectedItem();if(cReturn = null)cName.removeActionListener(this);JOptionPane.showMessageDialog(null,该学生没有选择课程!);addInfo.setEnabled(false);cName.setEnabled(false);elseint i = 0;for(i = 0; i (cReturn.length); i+)cName.addItem(cRetur

40、ni);cName.setEnabled(true);sNum.setEnabled(false);cName.setSelectedItem(null);cName.addActionListener(this);else if (obj = cName) /选择课程号CrsBean cSname = new CrsBean();cNum.setText(cSname.crsNameSearch(String)cName.getSelectedItem(),(String)sNum.getSelectedItem()0);cTeacher.setText(cSname.crsNameSear

41、ch(String)cName.getSelectedItem(),(String)sNum.getSelectedItem()1);addInfo.setEnabled(true);cName.setEnabled(false);cName.removeActionListener(this);学生信息管理模块,添加新的学生信息:import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 学生信息管理模块 * 添加新的学生信息 */public class AddStuInfo extends StuInfo Stu

42、Bean getSnum = new StuBean();public AddStuInfo() this.setTitle(添加学生信息);this.setResizable(false);sNum.setEditable(false);sNum.setText(+getSnum.getStuId();sName.setEditable(true);sSex.setEditable(true);sSethnic.setEditable(true);sBirth.setEditable(true);sYear.setEditable(true);sMajor.setEditable(true)

43、;sCollege.setEditable(true);sHome.setEditable(true);/设置运行时窗口的位置Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation(screenSize.width - 400) / 2, (screenSize.height - 300) / 2 + 45);public void downInit()addInfo.setText(增加);addInfo.setFont(new Font(Dialog,0,12);downPane

44、l.add(addInfo);clearInfo.setText(清空);clearInfo.setFont(new Font(Dialog,0,12);downPanel.add(clearInfo);eixtInfo.setText(退出);eixtInfo.setFont(new Font(Dialog,0,12);downPanel.add(eixtInfo);/添加事件侦听addInfo.addActionListener(this);clearInfo.addActionListener(this);eixtInfo.addActionListener(this);this.con

45、tentPane.add(downPanel,BorderLayout.SOUTH);/* * 事件处理 */public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = eixtInfo) /退出this.dispose();else if (obj = addInfo) /增加sNum.setEnabled(false);sName.setEnabled(false);sSex.setEnabled(false);sSethnic.setEnabled(false);sBirth.setEna

46、bled(false);sYear.setEnabled(false);sMajor.setEnabled(false);sCollege.setEnabled(false);sHome.setEnabled(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);StuBean addStu = new StuBean();addStu.stuAdd(sName.getText(), sSex.getText(), sBirth.getText(), sHome.getTe

47、xt(), sSethnic.getText(), sYear.getText(), sMajor.getText(), sCollege.getText();this.dispose();AddStuInfo asi = new AddStuInfo();asi.downInit();asi.pack();asi.setVisible(true);else if (obj = clearInfo) /清空setNull();sNum.setText(+getSnum.getStuId();课程信息综合管理类,提供主界面,供其他类继承:mport javax.swing.*;import ja

48、va.awt.*;import java.awt.event.*;import .*;/* * 课程信息综合管理类 * 提供主界面,供其他类继承 */public class CourseInfo extends JFrame implements ActionListenerContainer contentPane;JPanel centerPanel = new JPanel();JPanel upPanel = new JPanel();JPanel downPanel = new JPanel();/框架的大小Dimension faceSize = new Dimension(80

49、0, 500);JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JLabel jLabel4 = new JLabel();JLabel jLabel5 = new JLabel();JLabel jLabel6 = new JLabel();JTextField cNum = new JTextField(15);JTextField cName = new JTextField(15);JTextField cTeacher = new JTextField(

50、15);JTextField cType = new JTextField(15);JTextField cTime = new JTextField(15);JTextField cPlace = new JTextField(15);JButton searchInfo = new JButton();JButton addInfo = new JButton();JButton modifyInfo = new JButton();JButton deleteInfo = new JButton();JButton clearInfo = new JButton();JButton sa

51、veInfo = new JButton();JButton eixtInfo = new JButton();GridBagLayout girdBag = new GridBagLayout();GridBagConstraints girdBagCon;public CourseInfo() this.setSize(faceSize);/设置标题this.setTitle(课程综合信息管理); this.setResizable(false);/设置程序图标this.setIconImage(getImage(icon.gif);tryInit();catch(Exceptione)

52、e.printStackTrace();public void Init() throws Exception contentPane = this.getContentPane();contentPane.setLayout(new BorderLayout();/中部面板的布局centerPanel.setLayout(girdBag);jLabel1.setText(课程编码:);jLabel1.setFont(new Font(Dialog,0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagC

53、on.gridy = 0;girdBagCon.insets = new Insets(10,10,10,1);girdBag.setConstraints(jLabel1,girdBagCon);centerPanel.add(jLabel1);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 1;girdBagCon.gridy = 0;girdBagCon.insets = new Insets(10,1,10,15);girdBag.setConstraints(cNum,girdBagCon);centerPanel.a

54、dd(cNum);jLabel2.setText(课程名称:);jLabel2.setFont(new Font(Dialog,0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 2;girdBagCon.gridy = 0;girdBagCon.insets = new Insets(10,15,10,1);girdBag.setConstraints(jLabel2,girdBagCon);centerPanel.add(jLabel2);girdBagCon = new GridBagConstraints();g

55、irdBagCon.gridx = 3;girdBagCon.gridy = 0;girdBagCon.insets = new Insets(10,1,10,10);girdBag.setConstraints(cName,girdBagCon);centerPanel.add(cName);jLabel3.setText(授课老师:);jLabel3.setFont(new Font(Dialog,0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 1;girdBagCon.

56、insets = new Insets(10,10,10,1);girdBag.setConstraints(jLabel3,girdBagCon);centerPanel.add(jLabel3);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 1;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,1,10,15);girdBag.setConstraints(cTeacher,girdBagCon);centerPanel.add(cTeacher);jLabel4

57、.setText(课程类别:);jLabel4.setFont(new Font(Dialog,0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 2;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,15,10,1);girdBag.setConstraints(jLabel4,girdBagCon);centerPanel.add(jLabel4);girdBagCon = new GridBagConstraints();girdBagCon.gridx

58、= 3;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,1,10,10);girdBag.setConstraints(cType,girdBagCon);centerPanel.add(cType);jLabel5.setText(上课时间:);jLabel5.setFont(new Font(Dialog,0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 2;girdBagCon.insets = new Ins

59、ets(10,10,10,1);girdBag.setConstraints(jLabel5,girdBagCon);centerPanel.add(jLabel5);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 1;girdBagCon.gridy = 2;girdBagCon.insets = new Insets(10,1,10,15);girdBag.setConstraints(cTime,girdBagCon);centerPanel.add(cTime);jLabel6.setText(上课地点:);jLabel

60、6.setFont(new Font(Dialog,0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 2;girdBagCon.gridy = 2;girdBagCon.insets = new Insets(10,15,10,1);girdBag.setConstraints(jLabel6,girdBagCon);centerPanel.add(jLabel6);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 3;girdBagCon.insets = new Insets(10,1,10,10);girdBag.setConstraints(cPlace,girdBagCon);centerPanel.add(cPlace);contentPane.add(centerPanel,BorderLayout.CENTER);/* * 下部面板的布局 */public void down

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!