最新学生成绩管理系统实训报告 附源代码

更新时间:2024-04-23 07:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编号:

XXXXXXXXXXXXXXXXX大学

学生成绩管理系统实训报告

题 目: 学生成绩管理系统 系 别: XXXXXXXX系 专 业: XXXXXXXX专业 学生姓名: XXX 学 号: XXXXXXXXXX 指导教师: XXX

题目类型:?理论研究 ?实验研究 ?工程设计 ?工程技术研究 ?软件开发 ?应用研究

XXXX年 XX 月 XX 日

1

摘 要

目前,学校工作复杂、资料重多,管理信息系统已经进入高校,但

还未普及,而对于学生成绩管理来说,还没有一套完整的、统一的系统。因此,开发一套适合大众的、兼容性好的系统是很有必要的。《学生成绩管理系统》则是便于管理学生成绩以及学生信息,如此以来学校便可以更好的对学生的成绩及信息进行管理。该软件具备对学生成绩的增删查改功能,拥有四部分功能:成绩管理,学生信息管理,教师信息管理,用户登入管理。至此便可实现学生成绩管理系统的计算机化。

关键词:学生成绩管理系统;学生管理;成绩管理;信息管理;用户登入管理;

2

目 录

需求分析………………………………………………………………………5 1 成绩管理…………………………………………………………………5 2 学生管理…………………………………………………………………5 3 教师管理…………………………………………………………………6 数据库设计……………………………………………………………………6 1 数据库需求分析………………………………………………………6 2 数据库概念结构设计…………………………………………………7 3 数据库逻辑结构设计…………………………………………………8 软件设计………………………………………………………………………9 1 概要设计………………………………………………………………9 1.1 主界面……………………………………………………………9 1.2 登录界面…………………………………………………………9 1.3 教师系统界面……………………………………………………9 1.4 学生信息系统界面…………………………………………………9 1.5 成绩系统界面……………………………………………………9 2 详细设计………………………………………………………………9 2.1 主界面具体显示代码……………………………………………10 2.2 主界面事件监视方法……………………………………………14 2.3 教师管理具体显示代码…………………………………………19

3

2.4 教师管理事件监视方法…………………………………………28 2.5 学生管理具体显示代码…………………………………………33 2.6 学生管理事件监视方法…………………………………………44 2.7 成绩管理具体显示代码…………………………………………49 2.8 成绩管理事件监视方法…………………………………………61 2.9 登录界面………………………………………………………65 软件测试……………………………………………………………………73 1 登录窗体……………………………………………………………73 2 主窗体………………………………………………………………74 3 教师信息窗体………………………………………………………75 4 学生信息窗体………………………………………………………76 5 成绩信息窗体………………………………………………………77 6 关于窗体……………………………………………………………78 实训总结……………………………………………………………………79

4

需求分析

在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。而且效率也是很低的,所以如何自动高效的管理信息是这些年来研究重点。

随着这些年电脑计算机的速度以质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。学生成绩管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息管理得心应手。

学生成绩管理系统,以SQL数据库作为后台信息储存,Java作为前台系统的语言。提供了对学生成绩、学生信息、教师信息的添加、查询、修改,删除的功能。实现了最基本的成绩管理。

1 成绩管理

成绩管理是对学生成绩相关信息的存储和管理,能对学生成绩的基本信息进行添加、查找、删除和录入操作。 1.1 录入成绩

将学生的成绩录入到数据库中。包括学号、姓名、年龄、性别、家庭住址、联系电话、考试科目、课程类型、年级、成绩。 1.2 查询成绩

查询成绩分为两种,一种是明细成绩查询,这是针对性强的查询,专门对目标学生考试成绩进行查询。另一种是汇总成绩查询,这是对所有考试学生的总体查询,都是可以在需要查询时即可从数据库中搜索到欲查询的成绩信息。 1.3 修改成绩

对已经查找到的学生成绩信息进行修改的操作,成绩信息可以直接从文段框中被修改,这是对数据库的直接修改,需要使用admin管理员登入。 1.4删除成绩

对已经查找到的学生成绩信息进行删除的操作,成绩信息可以直接从文段框中被删除,这是对数据库的直接删除,需要使用admin管理员登入。删除成绩拥有独立的连接到数据库信息的删除按钮,这样更加快捷删除学生成绩。

2 学生管理

学生管理是对学生相关信息的存储和管理,其中对于学生信息的收集包括对学生的年级、班级、考试科目、考试类别、性别、年龄、住址、联系电话等。能对学生的基本信息进行添加、查找和删除操作。 2.1 查询学生信息

5

对目标学生信息进行查询,有两种查询方式,都采用查询条件按钮,第一种是相应选择学生所属年级、班级进行查询。第二种是使用查询运算符进行查询,查询字段为学生编号。两种方式都可以进行快速查询目标学生信息。 2.2 录入学生信息

录入学生的基本信息,包括有学号、姓名、性别、年龄、联系电话、班

级、家庭住址。 2.3 删除学生信息

对已经查找到的学生信息进行删除的操作,学生信息可以直接从文段框中被删除,这是对数据库的直接删除,需要使用admin管理员登入。删除信息拥有独立的连接到数据库信息的删除按钮,这样更加快捷删除学生信息。 3 教师管理

教师管理是对学生相关信息的存储和管理,其中对于教师信息的收集包括对教师的编号、班级编号、教师姓名、教师职称、性别、教师职称、知识水平等。能对教师的基本信息进行添加、查找和删除操作。这部分是附加部分,方便于学生一对一进行课程辅导时添加学生所对应的教师。 3.1 添加教师信息

添加教师的基本信息,包括有教师的编号、班级编号、教师姓名、教师职称、性别、教师职称、知识水平。 3.2 查找教师信息

对目标教师信息进行查询,由于是附加功能,直接点击刷新按钮即可刷新出所有的教师信息。 3.3 删除教师信息

对已经查找到的教师信息进行删除操作,教师信息将从数据库中被删掉。这是对数据库的直接删除,需要使用admin管理员登入。删除信息拥有独立的连接到数据库信息的删除按钮,这样更加快捷删除教师信息。

数据库设计

数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但是理论和时间上都是已经趋于成熟,使我们能够方便的使用。数据库技术是数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统。数据库在一个信息管理系统中占有非常重要的地位,数据库结构的设计好坏将直接对应用系统的小路以及实现的效果产生影响。数据库设计一般包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。 1 数据库需求分析

6

通过对成绩管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构 1.1 成绩信息

包括的数据项有:姓名、学号编号、考试科目、考试类别、年级、考试时间、成绩。 1.2 学生信息

包括的数据项有:学号编号、姓名、性别、年龄、联系电话、班级名称、家庭住址。 1.3 教师信息

包括的数据项有:教师编号、姓名、性别班级名称、教师职称、教师等级。

2 数据库概念结构设计

根据上面设计规划出的实体,我们对各个实体具体的描述E-R图如下

姓名 考试科目 学号编号

考试类别 成绩信息

成绩 年级 考试时间

图1成绩信息E-R图

姓名 学号编号 学生信息 性别 班级名称 年龄 家庭住址 联系电话 图2 学生信息E-R图

姓名 班级名称 教师编号

性别 教师职称 教师信息 教师等级 7

图1 教师信息E-R图

3 数据库逻辑结构设计

表1教师信息逻辑结构 字段名 teaid teaname sex knowlevel knowledge

教师信息表 数据类型 说明 数字 不空、主键 文本 不空 文本 不空,‘男’、‘女’ 文本 不空 文字 不空 表2学生信息逻辑结构

描述 教师编号 姓名 性别 教师等级 教师职称 字段名 stuid stuname sex age phone address

学生信息表 数据类型 说明 数字 不空、主键 文本 不空 文本 不空,‘男’、‘女’ 文本 不空 数字 不空 文本 不空 表3成绩信息逻辑结构

描述 学号 姓名 性别 年龄 电话 地址 字段名 stuid stuname examdate type class age grade

学生成绩表 数据类型 说明 数字 不空、主键 文本 不空 文本 不空,’ 文本 不空,‘主修’、‘选修’ 文字 不空 数字 不空 数字 不空 描述 学号 姓名 课程名 课程类型 年级 年龄 成绩 软件设计

软件设计是从软件需求规格说明书出发的,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件设计是把许多事物和问题抽象起来,并

8

抽象它们不同的层次和角度。将问题或事物分解并模块化使得解决问题变得容易,分解的越细模块数量越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。软件设计软件开发中的最重要步骤,他将决定软件的整体方向、软件的具体功能和实现方法,分为概要设计和详细设计。

1 概要设计

对软件的概要设计是将软件的主要结构简要描述。 1.1 主界面

(1) 主界面大小:宽800像素、高640像素 (2) 右上角包括:最小化、最大化、关闭

(3) 菜单栏:参数设置、基本信息、系统查询、系统管理 (4) 教师管理:查询记录、录入记录、删除记录

(5) 学生管理:查询记录、录入记录、删除记录、修改记录(6) 成绩管理:成绩录入、成绩查询、修改记录、删除记录1.2 登录界面

(1) 用户名提示文本 (2) 密码提示文本 (3) 用户名输入框 (4) 密码输入框 (5) 登入按钮 (6) 退出按钮 1.3 教师系统界面 (1) 刷新按钮 (2) 存盘按钮

(3) 教师号输入或显示框 (4) 姓名输入或显示框 (5) 性别输入或显示框 (6) 班级名称输入或显示框

(7) 教师等级、教师职称输入或显示框 (8) 添加按钮 (9) 删除按钮 (10) 退出按钮 1.4 学生信息系统界面 (1) 删除按钮 (2) 存盘按钮

(3) 学生编号输入框 (4) 姓名输入框 (5) 性别输入凰 (6) 年龄输入框 (7) 电话输入框 (8) 家庭住址输入框 (9) 班级名称输入框 1.5 成绩系统界面 (1) 存盘按钮

9

(2) 删除按钮 (3) 学号显示框 (4) 姓名显示框 (5) 课程名显示框

(6) 课程类型显示文本框 (7) 年级条件框 (8) 成绩显示框 (9) 添加按钮

2 详细设计

2.1 主界面具体显示代码

package appstu.view;

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JToolBar;

import appstu.util.MenuBarEvent;

public class AppMain extends JFrame { /** * */ private

static

final

long

serialVersionUID

=

-8348833890456775157L;

JPanel contentPane;

BorderLayout borderLayout1 = new BorderLayout(); JDesktopPane desktop = new javax.swing.JDesktopPane(); MenuBarEvent _MenuBarEvent = new MenuBarEvent(); // 自定

10

义事件类处理

JMenuBar jMenuBarMain = new JMenuBar(); // 定义界面中的主菜单控件

JToolBar jToolBarMain = new JToolBar(); // 定义界面中的工具栏控件

public AppMain() { try {

setDefaultCloseOperation(EXIT_ON_CLOSE); BuildMenuBar(); BuildToolBar(); jbInit();

loadBackgroundImage(); } catch (Exception exception) { exception.printStackTrace(); } } /**

* Component initialization. *

* @throws java.lang.Exception */

private void jbInit() throws Exception { jToolBarMain.setFloatable(false); this.setJMenuBar(jMenuBarMain);

contentPane = (JPanel) getContentPane(); contentPane.setLayout(borderLayout1); setSize(new Dimension(800, 640)); setTitle(\学生成绩管理系统\ contentPane.add(desktop, java.awt.BorderLayout.CENTER);

contentPane.add(jToolBarMain, java.awt.BorderLayout.NORTH);

_MenuBarEvent.setDeskTop(desktop); Dimension

screenSize

Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = getSize();

if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; }

if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; }

=

11

setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

setVisible(true); }

protected void loadBackgroundImage() { ImageIcon

icon

=

new

ImageIcon(this.getClass().getResource(\

JLabel jl = new JLabel(icon); jl.setBounds(0, icon.getIconHeight());

desktop.add(jl, new Integer(Integer.MIN_VALUE)); }

private void BuildMenuBar() {

JMenu[] _jMenu = { new JMenu(\【参数设置】\new JMenu(\【基本信息】\new JMenu(\【系统查询】\new JMenu(\【系统管理】\};

JMenuItem[] _jMenuItem0 = { new JMenuItem(\【年级设置】\new JMenuItem(\【班级设置】\new JMenuItem(\【考试科目】\new JMenuItem(\【考试类别】\ String[] _jMenuItem0Name = { \\\

JMenuItem[] _jMenuItem1 = { new JMenuItem(\【学生信息】\new JMenuItem(\【教师信息】\new JMenuItem(\【考试成绩】\}; String[] _jMenuItem1Name = { \\

JMenuItem[] _jMenuItem2 = { new JMenuItem(\【基本信息】\new JMenuItem(\【成绩信息】\new JMenuItem(\【汇总查询】\};

String[] _jMenuItem2Name = { \\

JMenuItem[] _jMenuItem3 = { new JMenuItem(\【用户维护】\【系统退出】\

String[] _jMenuItem3Name = { \\

Font _MenuItemFont = new Font(\宋体\ for (int i = 0; i < _jMenu.length; i++) { _jMenu[i].setFont(_MenuItemFont); jMenuBarMain.add(_jMenu[i]); }

for (int j = 0; j < _jMenuItem0.length; j++) { _jMenuItem0[j].setFont(_MenuItemFont);

final String EventName1 = _jMenuItem0Name[j];

12

0, icon.getIconWidth(),

_jMenuItem0[j].addActionListener(_MenuBarEvent); _jMenuItem0[j].addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) { _MenuBarEvent.setEventName(EventName1); } });

_jMenu[0].add(_jMenuItem0[j]); if (j == 1) {

_jMenu[0].addSeparator(); } }

for (int j = 0; j < _jMenuItem1.length; j++) { _jMenuItem1[j].setFont(_MenuItemFont);

final String EventName1 = _jMenuItem1Name[j]; _jMenuItem1[j].addActionListener(_MenuBarEvent); _jMenuItem1[j].addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) { _MenuBarEvent.setEventName(EventName1); } });

_jMenu[1].add(_jMenuItem1[j]); if (j == 1) {

_jMenu[1].addSeparator(); } }

for (int j = 0; j < _jMenuItem2.length; j++) { _jMenuItem2[j].setFont(_MenuItemFont);

final String EventName2 = _jMenuItem2Name[j]; _jMenuItem2[j].addActionListener(_MenuBarEvent); _jMenuItem2[j].addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) { _MenuBarEvent.setEventName(EventName2); } });

_jMenu[2].add(_jMenuItem2[j]); if ((j == 0)) {

_jMenu[2].addSeparator(); }

13

}

for (int j = 0; j < _jMenuItem3.length; j++) { _jMenuItem3[j].setFont(_MenuItemFont);

final String EventName3 = _jMenuItem3Name[j]; _jMenuItem3[j].addActionListener(_MenuBarEvent); _jMenuItem3[j].addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) { _MenuBarEvent.setEventName(EventName3); } });

_jMenu[3].add(_jMenuItem3[j]); if (j == 0) {

_jMenu[3].addSeparator(); } } }

private void BuildToolBar() {

String ImageName[] = { \\\\

String TipString[] = { \成绩科目设置\学生班级设置\添加学生\录入考试成绩\基本信息查询\考试成绩明细查询\年级成绩汇总\系统退出\

String ComandString[] = { \\\\\\

\ for (int i = 0; i < ComandString.length; i++) { JButton jb = new JButton(); ImageIcon ImageName[i]));

jb.setIcon(image);

jb.setToolTipText(TipString[i]); jb.setActionCommand(ComandString[i]); jb.addActionListener(_MenuBarEvent); jToolBarMain.add(jb); } } }

image

=

new +

ImageIcon(this.getClass().getResource(\

2.2主界面事件监视方法

14

package appstu.util;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.DefaultDesktopManager; import javax.swing.JOptionPane;

import appstu.view.JF_view_gradesub; import appstu.view.JF_view_query_grade_hz; import appstu.view.JF_view_query_grade_mx; import appstu.view.JF_view_query_jbqk; import appstu.view.JF_view_student; import appstu.view.JF_view_sysset_class; import appstu.view.JF_view_sysset_examkinds; import appstu.view.JF_view_sysset_grade; import appstu.view.JF_view_sysset_subject; import appstu.view.JF_view_teacher; import appstu.view.JF_view_user_modify;

public class MenuBarEvent implements ActionListener { private javax.swing.JDesktopPane JDeskTop = null; private String EventName = \ private

public void setDeskTop(javax.swing.JDesktopPane deskTop) { this.JDeskTop = deskTop; }

public void setEventName(String eventName) { this.EventName = eventName; }

@Override

public void actionPerformed(ActionEvent e) { System.out.println(\e.getActionCommand() + \

if

(e.getActionCommand().equals(\

manger

=

|| new

EventName.equals(\

javax.swing.DefaultDesktopManager DefaultDesktopManager();

int result = JOptionPane.showOptionDialog(null, \是否真的退出学生管理系统?\\系统提示\JOptionPane.YES_NO_OPTION,

15

DefaultDesktopManager desktopManager = new

DefaultDesktopManager();

= \+

JOptionPane.QUESTION_MESSAGE, null,

new String[] { \是\否\否\ if (result == JOptionPane.YES_OPTION) { try {

CommonaJdbc.conection.close(); } catch (java.sql.SQLException sql) { sql.printStackTrace(); }

System.exit(0); } return; } if

(e.getActionCommand().equals(\

EventName.equals(\

JF_view_sysset_grade jfInternalFrame

=

JF_view_sysset_grade();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\年级信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

EventName.equals(\

JF_view_sysset_class jfInternalFrame

=

JF_view_sysset_class();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\班级信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

EventName.equals(\

JF_view_sysset_examkinds jfInternalFrame

=

JF_view_sysset_examkinds();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

|| new

|| new

|| new

16

jfInternalFrame.setTitle(\考试类别信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

|| new

EventName.equals(\

JF_view_sysset_subject JF_view_sysset_subject();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试科目信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_student JF_view_student();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\学生基本信息管理\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_teacher JF_view_teacher();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\教师基本信息管理\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_gradesub

jfInternalFrame

=

new

17

jfInternalFrame = new

jfInternalFrame = new

JF_view_gradesub();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame);

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

jfInternalFrame.setTitle(\学生考试成绩信息管理\ jfInternalFrame.requestFocus(true); return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_query_jbqk JF_view_query_jbqk();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\基本信息数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\EventName.equals(\

JF_view_query_grade_mx JF_view_query_grade_mx();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试成绩班级明细数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\EventName.equals(\

JF_view_query_grade_hz JF_view_query_grade_hz();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试成绩年级汇总数据查询\

18

jfInternalFrame = new

||

=

new

jfInternalFrame

||

=

new

jfInternalFrame

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_user_modify jfInternalFrame

=

new

JF_view_user_modify();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\用户数据信息维护\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } } }

2.3教师管理具体显示代码

package appstu.view;

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;

import javax.swing.DefaultDesktopManager; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextField;

import javax.swing.ScrollPaneConstants; import javax.swing.table.DefaultTableModel;

19

import appstu.util.JdbcAdapter; import appstu.util.ProduceMaxBh; import appstu.util.RetrieveObject;

public class JF_view_teacher extends JInternalFrame { /** * */ private

static

final

long

serialVersionUID

-3152358757919633732L;

BorderLayout borderLayout1 = new BorderLayout(); JSplitPane jSplitPane1 = new JSplitPane(); JPanel jPanel1 = new JPanel();

FlowLayout flowLayout1 = new FlowLayout(); JButton jBadd = new JButton(); JButton jBsave = new JButton(); JPanel jPanel3 = new JPanel();

GridLayout gridLayout1 = new GridLayout(); JLabel jLabel3 = new JLabel();

JTextField jTextField1 = new JTextField(); JLabel jLabel4 = new JLabel(); JLabel jLabel5 = new JLabel();

JTextField jTextField3 = new JTextField(); JLabel jLabel6 = new JLabel();

JComboBox jComboBox3 = new JComboBox(); JLabel jLabel8 = new JLabel(); JLabel jLabel9 = new JLabel();

JScrollPane jScrollPane1 = new JScrollPane(); JTable jTable1 = new JTable(); JButton jBrefresh = new JButton(); JButton jBexit = new JButton(); JButton jBdel = new JButton();

JComboBox jComboBox2 = new JComboBox(); JComboBox jComboBox4 = new JComboBox(); JComboBox jComboBox1 = new JComboBox();

String classid[] = null;

public JF_view_teacher() { try {

jbInit();

} catch (Exception exception) { exception.printStackTrace();

=

20

} }

private void jbInit() throws Exception { getContentPane().setLayout(borderLayout1);

jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);

jSplitPane1.setOpaque(false);

jSplitPane1.setVerifyInputWhenFocusTarget(false); jPanel1.setLayout(flowLayout1); jBadd.setText(\添加\

jBadd.addActionListener(new JF_view_teacher_jBadd_actionAdapter(this));

jBsave.setMnemonic('0'); jBsave.setText(\存盘\

jBsave.addActionListener(new JF_view_teacher_jBsave_actionAdapter(this));

jPanel3.setLayout(gridLayout1); gridLayout1.setColumns(4); gridLayout1.setRows(3);

jLabel3.setText(\教师编号\

jTextField1.setEnabled(false); jTextField1.setText(\ jLabel4.setText(\班级名称\ jLabel5.setText(\教师姓名\ jTextField3.setText(\ jLabel6.setText(\性别\ jLabel8.setText(\教师等级\ jLabel9.setText(\教师职称\

jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

jBrefresh.setText(\刷新\

jBrefresh.addActionListener(new JF_view_teacher_jBrefresh_actionAdapter(this));

jBexit.setText(\退出\

jBexit.addActionListener(new JF_view_teacher_jBexit_actionAdapter(this));

flowLayout1.setAlignment(FlowLayout.RIGHT); this.setClosable(true); jBdel.setText(\删除\

21

jBdel.addActionListener(new JF_view_teacher_jBdel_actionAdapter(this));

jTable1.addMouseListener(new JF_view_teacher_jTable1_mouseAdapter(this));

jComboBox2.setEditable(true); jComboBox4.setEditable(true); jPanel1.add(jBrefresh); jPanel1.add(jBadd); jPanel1.add(jBdel); jPanel1.add(jBsave); jPanel1.add(jBexit);

jSplitPane1.add(jPanel3, JSplitPane.BOTTOM); jPanel3.add(jLabel3); jPanel3.add(jTextField1); jPanel3.add(jLabel4); jPanel3.add(jComboBox1); jPanel3.add(jLabel5); jPanel3.add(jTextField3); jPanel3.add(jLabel6); jPanel3.add(jComboBox3); jPanel3.add(jLabel9); jPanel3.add(jComboBox2); jPanel3.add(jLabel8); jPanel3.add(jComboBox4);

jSplitPane1.add(jScrollPane1, JSplitPane.TOP); this.getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);

jScrollPane1.getViewport().add(jTable1); this.getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);

setSize(640, 440); setVisible(true);

jSplitPane1.setDividerLocation(256); }

// 添加一条数据

public void jBadd_actionPerformed(ActionEvent e) {

jComboBox1.removeAllItems();

RetrieveObject retrieve = new RetrieveObject(); java.util.Vector vdata = new java.util.Vector(); java.util.Collection collection = null; java.util.Iterator iterator = null;

22

String sqlStr = null;

sqlStr = \

collection = retrieve.getTableCollection(sqlStr); iterator = collection.iterator();

classid = new String[collection.size()]; int i = 0;

while (iterator.hasNext()) {

vdata = (java.util.Vector) iterator.next(); classid[i] = String.valueOf(vdata.get(0)); jComboBox1.addItem(vdata.get(2)); i++; }

String sqlMax = \ ProduceMaxBh pm = new appstu.util.ProduceMaxBh();

String stuid = null;

stuid = pm.getMaxBh(sqlMax, \

jTextField1.setText(stuid); jTextField3.setText(\ jComboBox3.removeAllItems(); jComboBox3.addItem(\男\ jComboBox3.addItem(\女\

jComboBox2.removeAllItems(); jComboBox2.addItem(\高级教师\ jComboBox2.addItem(\中级教师\ jComboBox2.addItem(\初级教师\

jComboBox4.removeAllItems(); jComboBox4.addItem(\高级\ jComboBox4.addItem(\中级\ jComboBox4.addItem(\初级\

jTextField3.requestFocus(); }

public void jBexit_actionPerformed(ActionEvent e) { javax.swing.DefaultDesktopManager DefaultDesktopManager();

int result = JOptionPane.showOptionDialog(null, \是否退出教师基本信息管理?\\系统提示\JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] {

23

manger = new

\是\否\否\

if (result == JOptionPane.YES_OPTION) { manger.closeFrame(this); } }

public void jBsave_actionPerformed(ActionEvent e) { int result = JOptionPane.showOptionDialog(null, \是否存盘教师基本数据信息?\\系统提示\JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] {

\是\否\否\

if (result == JOptionPane.NO_OPTION) return;

appstu.model.Obj_teacher appstu.model.Obj_teacher();

object.setTeaid(jTextField1.getText().trim());

object.setClassID(classid[jComboBox1.getSelectedIndex()]);

object.setTeaname(jTextField3.getText().trim());

object.setSex(String.valueOf(jComboBox3.getSelectedItem()));

object.setKnowlevel(String.valueOf(jComboBox4.getSelectedItem()));

object.setKnowledge(String.valueOf(jComboBox2.getSelectedItem()));

appstu.util.JdbcAdapter appstu.util.JdbcAdapter();

if (adapter.InsertOrUpdateObject(object)) {

ActionEvent event = new ActionEvent(jBrefresh, 0, null);

jBrefresh_actionPerformed(event); } }

public void jBrefresh_actionPerformed(ActionEvent e) { DefaultTableModel tablemodel = null;

String[] name = { \教师编号\班级编号\教师姓名\

24

object = new

adapter = new

性别\教师职称\知识水平\

String sqlStr = \

appstu.util.RetrieveObject appstu.util.RetrieveObject();

tablemodel = bdt.getTableModel(name, sqlStr); jTable1.setModel(tablemodel); jTable1.setRowHeight(24); }

public void jBdel_actionPerformed(ActionEvent e) { if (jTextField1.getText().trim().length() <= 0) return;

int result = JOptionPane.showOptionDialog(null, \是否删除教师的基本信息数据?\系统提示\JOptionPane.QUESTION_MESSAGE, null, new String[] {

\是\否\否\

if (result == JOptionPane.NO_OPTION) return;

String sqlDel = \jTextField1.getText().trim() + \

JdbcAdapter jdbcAdapter = new JdbcAdapter(); if (jdbcAdapter.DeleteObject(sqlDel)) { jTextField1.setText(\ jTextField3.setText(\ jComboBox1.removeAllItems(); jComboBox2.removeAllItems(); jComboBox3.removeAllItems(); jComboBox4.removeAllItems();

ActionEvent event = new ActionEvent(jBrefresh, 0, null);

jBrefresh_actionPerformed(event); } }

public void jTable1_mouseClicked(MouseEvent e) { String id = null; String sqlStr = null; int selectrow = 0;

selectrow = jTable1.getSelectedRow(); if (selectrow < 0) return;

25

bdt = new

id = jTable1.getValueAt(selectrow, 0).toString(); sqlStr = \id + \

java.util.Vector vdata = null;

RetrieveObject retrive = new RetrieveObject(); vdata = retrive.getObjectRow(sqlStr); String gradeid = null, classid = null; String gradename = null, classname = null; java.util.Vector vname = null; classid = vdata.get(1).toString(); gradeid = classid.substring(0, 2);

vname = retrive.getObjectRow(\tb_classinfo where classID = '\

classname = String.valueOf(vname.get(0));

jTextField1.setText(vdata.get(0).toString()); jComboBox1.removeAllItems(); jComboBox1.addItem(classname);

jTextField3.setText(vdata.get(2).toString()); jComboBox3.removeAllItems();

jComboBox3.addItem(vdata.get(3).toString()); jComboBox2.removeAllItems();

jComboBox2.addItem(vdata.get(4).toString()); jComboBox4.removeAllItems();

jComboBox4.addItem(vdata.get(5).toString()); } } class

JF_view_teacher_jTable1_mouseAdapter

extends

MouseAdapter {

private JF_view_teacher adaptee;

JF_view_teacher_jTable1_mouseAdapter(JF_view_teacher adaptee) {

this.adaptee = adaptee; }

@Override

public void mouseClicked(MouseEvent e) { adaptee.jTable1_mouseClicked(e); } }

26

class

JF_view_teacher_jBdel_actionAdapter

implements

ActionListener {

private JF_view_teacher adaptee;

JF_view_teacher_jBdel_actionAdapter(JF_view_teacher adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBdel_actionPerformed(e); } }

class JF_view_teacher_jBrefresh_actionAdapter implements ActionListener {

private JF_view_teacher adaptee;

JF_view_teacher_jBrefresh_actionAdapter(JF_view_teacher adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBrefresh_actionPerformed(e); } } class

JF_view_teacher_jBexit_actionAdapter

implements

ActionListener {

private JF_view_teacher adaptee;

JF_view_teacher_jBexit_actionAdapter(JF_view_teacher adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBexit_actionPerformed(e); }

27

} class

JF_view_teacher_jBadd_actionAdapter

implements

ActionListener {

private JF_view_teacher adaptee;

JF_view_teacher_jBadd_actionAdapter(JF_view_teacher adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBadd_actionPerformed(e); } } class

JF_view_teacher_jBsave_actionAdapter

implements

ActionListener {

private JF_view_teacher adaptee;

JF_view_teacher_jBsave_actionAdapter(JF_view_teacher adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBsave_actionPerformed(e); } }

2.4教师管理事件监视方法

package appstu.util;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.DefaultDesktopManager; import javax.swing.JOptionPane;

import appstu.view.JF_view_gradesub; import appstu.view.JF_view_query_grade_hz; import appstu.view.JF_view_query_grade_mx;

28

import appstu.view.JF_view_query_jbqk; import appstu.view.JF_view_student; import appstu.view.JF_view_sysset_class; import appstu.view.JF_view_sysset_examkinds; import appstu.view.JF_view_sysset_grade; import appstu.view.JF_view_sysset_subject; import appstu.view.JF_view_teacher; import appstu.view.JF_view_user_modify;

public class MenuBarEvent implements ActionListener { private javax.swing.JDesktopPane JDeskTop = null; private String EventName = \

private DefaultDesktopManager desktopManager = new DefaultDesktopManager();

public void setDeskTop(javax.swing.JDesktopPane deskTop) {

this.JDeskTop = deskTop; }

public void setEventName(String eventName) { this.EventName = eventName; }

@Override

public void actionPerformed(ActionEvent e) { System.out.println(\ if

=

\

+ ||

e.getActionCommand() + \

(e.getActionCommand().equals(\

EventName.equals(\

javax.swing.DefaultDesktopManager manger = new DefaultDesktopManager();

int result = JOptionPane.showOptionDialog(null, \是否真的退出学生管理系统?\系统提示\JOptionPane.QUESTION_MESSAGE, null,

new String[] { \是\否\否\ if (result == JOptionPane.YES_OPTION) { try {

CommonaJdbc.conection.close(); } catch (java.sql.SQLException sql) { sql.printStackTrace(); }

System.exit(0); }

29

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

|| new

EventName.equals(\

JF_view_sysset_grade JF_view_sysset_grade();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\年级信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

|| new

EventName.equals(\

JF_view_sysset_class JF_view_sysset_class();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\班级信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_sysset_examkinds jfInternalFrame = new JF_view_sysset_examkinds();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试类别信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_sysset_subject jfInternalFrame = new JF_view_sysset_subject();

jfInternalFrame.setLocation(50, 50);

30

JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试科目信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

new

|| EventName.equals(\

JF_view_student JF_view_student();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\学生基本信息管理\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

new

|| EventName.equals(\

JF_view_teacher JF_view_teacher();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\教师基本信息管理\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_gradesub JF_view_gradesub();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame);

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

jfInternalFrame.setTitle(\学生考试成绩信息管理\ jfInternalFrame.requestFocus(true); return; }

if (e.getActionCommand().equals(\

31

jfInternalFrame = new

|| EventName.equals(\

JF_view_query_jbqk JF_view_query_jbqk();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\基本信息数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\EventName.equals(\

JF_view_query_grade_mx jfInternalFrame = new JF_view_query_grade_mx();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试成绩班级明细数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\EventName.equals(\

JF_view_query_grade_hz jfInternalFrame = new JF_view_query_grade_hz();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试成绩年级汇总数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

new

|| EventName.equals(\

JF_view_user_modify JF_view_user_modify();

jfInternalFrame.setLocation(50, 30);

32

jfInternalFrame = new

||

||

JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\用户数据信息维护\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } } }

2.5学生管理具体显示代码

package appstu.view;

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Vector;

import javax.swing.DefaultDesktopManager; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextField;

import javax.swing.ScrollPaneConstants; import javax.swing.table.DefaultTableModel;

import appstu.util.JdbcAdapter; import appstu.util.ProduceMaxBh; import appstu.util.RetrieveObject; import appstu.util.SendFocuseAdapter;

33

public class JF_view_student extends JInternalFrame { /** * */ private

static

final

long

serialVersionUID

-9084512309857536876L;

BorderLayout borderLayout1 = new BorderLayout(); JSplitPane jSplitPane1 = new JSplitPane(); JPanel jPanel1 = new JPanel();

FlowLayout flowLayout1 = new FlowLayout(); JLabel jLabel1 = new JLabel();

JComboBox jComboBox1 = new JComboBox(); JLabel jLabel2 = new JLabel();

JComboBox jComboBox2 = new JComboBox(); JButton jBadd = new JButton(); JButton jBsave = new JButton(); JPanel jPanel3 = new JPanel();

GridLayout gridLayout1 = new GridLayout(); JLabel jLabel3 = new JLabel();

JTextField jTextField1 = new JTextField(); JLabel jLabel4 = new JLabel();

JTextField jTextField2 = new JTextField(); JLabel jLabel5 = new JLabel();

JTextField jTextField3 = new JTextField(); JLabel jLabel6 = new JLabel();

JTextField jTextField4 = new JTextField(); JLabel jLabel7 = new JLabel();

JComboBox jComboBox3 = new JComboBox(); JLabel jLabel8 = new JLabel();

JTextField jTextField5 = new JTextField(); JLabel jLabel9 = new JLabel();

JTextField jTextField6 = new JTextField(); JScrollPane jScrollPane1 = new JScrollPane(); JTable jTable1 = new JTable(); JButton jBrefresh = new JButton(); JButton jBexit = new JButton(); JButton jBdel = new JButton();

String gradeID[] = null; String classID[] = null;

public JF_view_student() { try {

jbInit();

=

34

initialize();

} catch (Exception exception) { exception.printStackTrace(); } }

private void jbInit() throws Exception { getContentPane().setLayout(borderLayout1);

jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);

jSplitPane1.setOpaque(false);

jSplitPane1.setVerifyInputWhenFocusTarget(false); jPanel1.setLayout(flowLayout1); jLabel1.setText(\所属年级:\ jLabel2.setToolTipText(\ jLabel2.setText(\所属班级:\ jBadd.setText(\添加\

jBadd.addActionListener(new JF_view_student_jBadd_actionAdapter(this));

jBsave.setMnemonic('0'); jBsave.setText(\存盘\

jBsave.addActionListener(new JF_view_student_jBsave_actionAdapter(this));

jPanel3.setLayout(gridLayout1); gridLayout1.setColumns(4); gridLayout1.setRows(4);

jLabel3.setText(\学生编号\

jTextField1.setEnabled(false); jTextField1.setText(\ jLabel4.setText(\班级名称\

jTextField2.setEnabled(false); jTextField2.setText(\ jLabel5.setText(\学生姓名\ jTextField3.setText(\ jLabel6.setText(\年龄\ jTextField4.setText(\ jLabel7.setText(\性别\ jLabel8.setText(\家庭地址\ jTextField5.setText(\ jLabel9.setText(\联系电话\ jTextField6.setText(\

jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

35

jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

jBrefresh.setText(\刷新\

jBrefresh.addActionListener(new JF_view_student_jBrefresh_actionAdapter(this));

jBexit.setText(\退出\

jBexit.addActionListener(new JF_view_student_jBexit_actionAdapter(this));

flowLayout1.setAlignment(FlowLayout.RIGHT); this.setClosable(true); jBdel.setText(\删除\

jBdel.addActionListener(new JF_view_student_jBdel_actionAdapter(this));

jTable1.addMouseListener(new JF_view_student_jTable1_mouseAdapter(this));

jComboBox1.addItemListener(new JF_view_student_jComboBox1_itemAdapter(this));

jComboBox2.addItemListener(new JF_view_student_jComboBox2_itemAdapter(this));

jPanel1.add(jLabel1); jPanel1.add(jComboBox1); jPanel1.add(jLabel2); jPanel1.add(jComboBox2); jPanel1.add(jBrefresh); jPanel1.add(jBadd); jPanel1.add(jBdel); jPanel1.add(jBsave); jPanel1.add(jBexit);

jSplitPane1.add(jPanel3, JSplitPane.BOTTOM); jPanel3.add(jLabel3); jPanel3.add(jTextField1); jPanel3.add(jLabel4); jPanel3.add(jTextField2); jPanel3.add(jLabel5); jPanel3.add(jTextField3); jPanel3.add(jLabel6); jPanel3.add(jTextField4); jPanel3.add(jLabel7); jPanel3.add(jComboBox3); jPanel3.add(jLabel9); jPanel3.add(jTextField5); jPanel3.add(jLabel8); jPanel3.add(jTextField6);

36

jTextField3.addKeyListener(new SendFocuseAdapter(jTextField4));

jTextField4.addKeyListener(new SendFocuseAdapter(jTextField5));

jTextField5.addKeyListener(new SendFocuseAdapter(jTextField6));

jSplitPane1.add(jScrollPane1, JSplitPane.TOP); this.getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);

jScrollPane1.getViewport().add(jTable1); this.getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);

setSize(640, 440); setVisible(true);

jSplitPane1.setDividerLocation(220); }

public void initialize() { String sqlStr = null;

sqlStr = \gradeID,gradeName from tb_gradeinfo\ RetrieveObject retrieve = new RetrieveObject(); java.util.Collection collection = null; java.util.Iterator iterator = null;

collection = retrieve.getTableCollection(sqlStr); iterator = collection.iterator();

gradeID = new String[collection.size()]; int i = 0;

while (iterator.hasNext()) { java.util.Vector iterator.next();

gradeID[i] = String.valueOf(vdata.get(0)); jComboBox1.addItem(vdata.get(1)); i++; } }

// 添加一条数据

public void jBadd_actionPerformed(ActionEvent e) { String classid = null;

int index = jComboBox2.getSelectedIndex(); if (index < 0) {

JOptionPane.showMessageDialog(null, \班级名称为空,请重新选择班级\系统提示\

return;

37

vdata = (java.util.Vector)

}

classid = classID[index];

String sqlMax = \max(stuid) from tb_studentinfo where classID = '\

ProduceMaxBh pm = new appstu.util.ProduceMaxBh(); String stuid = null;

stuid = pm.getMaxBh(sqlMax, classid); jTextField1.setText(stuid);

jTextField2.setText(jComboBox2.getSelectedItem().toString());

jTextField3.setText(\ jTextField4.setText(\ jTextField5.setText(\ jTextField6.setText(\ jComboBox3.removeAllItems(); jComboBox3.addItem(\男\ jComboBox3.addItem(\女\ jTextField3.requestFocus(); }

public void jBexit_actionPerformed(ActionEvent e) { javax.swing.DefaultDesktopManager DefaultDesktopManager();

int result = JOptionPane.showOptionDialog(null, \是否退出学生基本信息录入?\\系统提示\JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] {

\是\否\否\

if (result == JOptionPane.YES_OPTION) { manger.closeFrame(this); } }

public void jBsave_actionPerformed(ActionEvent e) { int result = JOptionPane.showOptionDialog(null, \是否存盘学生基本数据信息?\\系统提示\JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] {

\是\否\否\

if (result == JOptionPane.NO_OPTION) return;

appstu.model.Obj_student appstu.model.Obj_student();

String

classid

=

38

manger = new

object = new

classID[Integer.parseInt(String.valueOf(jComboBox2.getSelecte

dIndex()))];

object.setStuid(jTextField1.getText().trim()); object.setClassID(classid);

object.setStuname(jTextField3.getText().trim()); int age = 0; try { age

Integer.parseInt(jTextField4.getText().trim());

} catch (java.lang.NumberFormatException formate) { JOptionPane.showMessageDialog(null, \数据录入有误,错误信息:\\n\+ formate.getMessage(), \系统提示\JOptionPane.ERROR_MESSAGE);

jTextField4.requestFocus(); return; }

object.setAge(age);

object.setSex(String.valueOf(jComboBox3.getSelectedItem()));

object.setPhone(jTextField5.getText().trim()); object.setAddress(jTextField6.getText().trim()); appstu.util.JdbcAdapter appstu.util.JdbcAdapter();

if (adapter.InsertOrUpdateObject(object)) {

ActionEvent event = new ActionEvent(jBrefresh, 0, null);

jBrefresh_actionPerformed(event); } }

public void jBrefresh_actionPerformed(ActionEvent e) { DefaultTableModel tablemodel = null;

String[] name = { \学生编号\班级编号\学生姓名\性别\年龄\家庭住址\联系电话\

String sqlStr = \

appstu.util.RetrieveObject appstu.util.RetrieveObject();

tablemodel = bdt.getTableModel(name, sqlStr); jTable1.setModel(tablemodel); jTable1.setRowHeight(24); }

public void jBdel_actionPerformed(ActionEvent e) { if (jTextField1.getText().trim().length() <= 0)

39

=

adapter = new

bdt = new

return;

int result = JOptionPane.showOptionDialog(null, \是否删除学生的基本信息数据?\系统提示\JOptionPane.QUESTION_MESSAGE, null, new String[] {

\是\否\否\

if (result == JOptionPane.NO_OPTION) return;

String sqlDel = \'\

JdbcAdapter jdbcAdapter = new JdbcAdapter(); if (jdbcAdapter.DeleteObject(sqlDel)) { jTextField1.setText(\ jTextField2.setText(\ jTextField3.setText(\ jTextField4.setText(\ jTextField5.setText(\ jTextField6.setText(\// jComboBox1.removeAllItems(); // jComboBox3.removeAllItems();

ActionEvent event = new ActionEvent(jBrefresh, 0, null);

jBrefresh_actionPerformed(event); } }

public void jTable1_mouseClicked(MouseEvent e) { String id = null; String sqlStr = null; int selectrow = 0;

selectrow = jTable1.getSelectedRow(); if (selectrow < 0) return;

id = jTable1.getValueAt(selectrow, 0).toString(); sqlStr = \'\

Vector vdata = null;

RetrieveObject retrive = new RetrieveObject(); vdata = retrive.getObjectRow(sqlStr); String gradeid = null, classid = null; String gradename = null, classname = null; Vector vname = null;

classid = vdata.get(1).toString(); gradeid = classid.substring(0, 2);

vname = retrive.getObjectRow(\

40

tb_classinfo where classID = '\

classname = String.valueOf(vname.get(0));

vname = retrive.getObjectRow(\tb_gradeinfo where gradeID = '\

gradename = String.valueOf(vname.get(0)); jTextField1.setText(vdata.get(0).toString()); jTextField2.setText(gradename + classname); jTextField3.setText(vdata.get(2).toString()); jTextField4.setText(vdata.get(4).toString()); jTextField5.setText(vdata.get(6).toString()); jTextField6.setText(vdata.get(5).toString()); // jComboBox3.removeAllItems();

// jComboBox3.addItem(vdata.get(3).toString()); }

public void jComboBox1_itemStateChanged(ItemEvent e) { jComboBox2.removeAllItems();

int Index = jComboBox1.getSelectedIndex(); String sqlStr = null;

sqlStr = \where gradeID = '\

RetrieveObject retrieve = new RetrieveObject(); java.util.Collection collection = null; java.util.Iterator iterator = null;

collection = retrieve.getTableCollection(sqlStr); iterator = collection.iterator();

classID = new String[collection.size()]; int i = 0;

while (iterator.hasNext()) { java.util.Vector iterator.next();

classID[i] = String.valueOf(vdata.get(0)); jComboBox2.addItem(vdata.get(1)); i++; } }

public void jComboBox2_itemStateChanged(ItemEvent e) { if (jComboBox2.getSelectedIndex() < 0) return;

String cid = classID[jComboBox2.getSelectedIndex()]; DefaultTableModel tablemodel = null;

String[] name = { \学生编号\班级编号\学生姓名\性别\年龄\家庭住址\联系电话\

41

vdata = (java.util.Vector)

String sqlStr = \classid = '\

appstu.util.RetrieveObject appstu.util.RetrieveObject();

tablemodel = bdt.getTableModel(name, sqlStr); jTable1.setModel(tablemodel); jTable1.setRowHeight(24); } } class

JF_view_student_jComboBox2_itemAdapter

implements

ItemListener {

private JF_view_student adaptee;

JF_view_student_jComboBox2_itemAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void itemStateChanged(ItemEvent e) { adaptee.jComboBox2_itemStateChanged(e); } } class

JF_view_student_jComboBox1_itemAdapter

implements

ItemListener {

private JF_view_student adaptee;

JF_view_student_jComboBox1_itemAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void itemStateChanged(ItemEvent e) { adaptee.jComboBox1_itemStateChanged(e); } } class

JF_view_student_jTable1_mouseAdapter

extends

MouseAdapter {

private JF_view_student adaptee;

42

bdt = new

JF_view_student_jTable1_mouseAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void mouseClicked(MouseEvent e) { adaptee.jTable1_mouseClicked(e); } } class

JF_view_student_jBdel_actionAdapter

implements

ActionListener {

private JF_view_student adaptee;

JF_view_student_jBdel_actionAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBdel_actionPerformed(e); } }

class JF_view_student_jBrefresh_actionAdapter implements ActionListener {

private JF_view_student adaptee;

JF_view_student_jBrefresh_actionAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBrefresh_actionPerformed(e); } } class

JF_view_student_jBexit_actionAdapter

implements

43

ActionListener {

private JF_view_student adaptee;

JF_view_student_jBexit_actionAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBexit_actionPerformed(e); } } class

JF_view_student_jBadd_actionAdapter

implements

ActionListener {

private JF_view_student adaptee;

JF_view_student_jBadd_actionAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBadd_actionPerformed(e); } } class

JF_view_student_jBsave_actionAdapter

implements

ActionListener {

private JF_view_student adaptee;

JF_view_student_jBsave_actionAdapter(JF_view_student adaptee) {

this.adaptee = adaptee; }

@Override

public void actionPerformed(ActionEvent e) { adaptee.jBsave_actionPerformed(e); } }

2.6学生管理事件监视方法

44

package appstu.util;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.DefaultDesktopManager; import javax.swing.JOptionPane;

import appstu.view.JF_view_gradesub; import appstu.view.JF_view_query_grade_hz; import appstu.view.JF_view_query_grade_mx; import appstu.view.JF_view_query_jbqk; import appstu.view.JF_view_student; import appstu.view.JF_view_sysset_class; import appstu.view.JF_view_sysset_examkinds; import appstu.view.JF_view_sysset_grade; import appstu.view.JF_view_sysset_subject; import appstu.view.JF_view_teacher; import appstu.view.JF_view_user_modify;

public class MenuBarEvent implements ActionListener { private javax.swing.JDesktopPane JDeskTop = null; private String EventName = \ private

public void setDeskTop(javax.swing.JDesktopPane deskTop) { this.JDeskTop = deskTop; }

public void setEventName(String eventName) { this.EventName = eventName; }

@Override

public void actionPerformed(ActionEvent e) { System.out.println(\e.getActionCommand() + \

if

(e.getActionCommand().equals(\

manger

=

|| new

EventName.equals(\

javax.swing.DefaultDesktopManager DefaultDesktopManager();

int result = JOptionPane.showOptionDialog(null, \是否真的退出学生管理系统?\\系统提示\JOptionPane.YES_NO_OPTION,

45

DefaultDesktopManager desktopManager = new

DefaultDesktopManager();

= \+

JOptionPane.QUESTION_MESSAGE, null,

new String[] { \是\否\否\ if (result == JOptionPane.YES_OPTION) { try {

CommonaJdbc.conection.close(); } catch (java.sql.SQLException sql) { sql.printStackTrace(); }

System.exit(0); } return; } if

(e.getActionCommand().equals(\

EventName.equals(\

JF_view_sysset_grade jfInternalFrame

=

JF_view_sysset_grade();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\年级信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

EventName.equals(\

JF_view_sysset_class jfInternalFrame

=

JF_view_sysset_class();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\班级信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

EventName.equals(\

JF_view_sysset_examkinds jfInternalFrame

=

JF_view_sysset_examkinds();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

|| new

|| new

|| new

46

jfInternalFrame.setTitle(\考试类别信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\

jfInternalFrame

=

|| new

EventName.equals(\

JF_view_sysset_subject JF_view_sysset_subject();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试科目信息设置\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_student JF_view_student();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\学生基本信息管理\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_teacher JF_view_teacher();

jfInternalFrame.setLocation(50, 50); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\教师基本信息管理\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_gradesub

jfInternalFrame

=

new

47

jfInternalFrame = new

jfInternalFrame = new

JF_view_gradesub();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame);

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

jfInternalFrame.setTitle(\学生考试成绩信息管理\ jfInternalFrame.requestFocus(true); return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_query_jbqk JF_view_query_jbqk();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\基本信息数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\EventName.equals(\

JF_view_query_grade_mx JF_view_query_grade_mx();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试成绩班级明细数据查询\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } if

(e.getActionCommand().equals(\EventName.equals(\

JF_view_query_grade_hz JF_view_query_grade_hz();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\考试成绩年级汇总数据查询\

48

jfInternalFrame = new

||

=

new

jfInternalFrame

||

=

new

jfInternalFrame

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; }

if (e.getActionCommand().equals(\|| EventName.equals(\

JF_view_user_modify jfInternalFrame

=

new

JF_view_user_modify();

jfInternalFrame.setLocation(50, 30); JDeskTop.add(jfInternalFrame); jfInternalFrame.show();

jfInternalFrame.setTitle(\用户数据信息维护\

JDeskTop.getDesktopManager().activateFrame(jfInternalFrame);

return; } } }

2.7成绩管理具体显示代码

package appstu.view;

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Calendar; import java.util.Collection; import java.util.Iterator; import java.util.Locale; import java.util.Vector;

import javax.swing.DefaultDesktopManager; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel;

49

import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

import appstu.model.Obj_gradeinfo_sub; import appstu.util.RetrieveObject;

public class JF_view_gradesub extends JInternalFrame { /** * */ private

static

final

long

serialVersionUID

-537038919964506695L;

BorderLayout borderLayout1 = new BorderLayout(); JSplitPane jSplitPane1 = new JSplitPane(); JScrollPane jScrollPane2 = new JScrollPane(); JPanel jPanel2 = new JPanel();

FlowLayout flowLayout1 = new FlowLayout(); JTable jTable1 = new JTable(); JLabel jLabel1 = new JLabel();

JComboBox jComboBox1 = new JComboBox(); JLabel jLabel2 = new JLabel();

JComboBox jComboBox2 = new JComboBox(); JButton jBadd = new JButton(); JButton jBsave = new JButton(); JButton jBexit = new JButton();

JScrollPane jScrollPane1 = new JScrollPane(); JTable jTable2 = new JTable(); // //////////////// String classid[] = null; String examkindid[] = null; String examkindname[] = null; String subjectcode[] = null; String subjectname[] = null; JLabel jLabel3 = new JLabel();

JTextField jTextField1 = new JTextField(); JButton jBdel = new JButton();

public JF_view_gradesub() { try {

jbInit(); initialize();

=

50

本文来源:https://www.bwwdw.com/article/6dap.html

Top