• 沒有找到結果。

Java EE应用开发实训教程 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "Java EE应用开发实训教程 - 万水书苑-出版资源网"

Copied!
18
0
0

加載中.... (立即查看全文)

全文

(1)

第 4 章 学生成绩管理系统(C 级)

项目目标:

本项目为必做项目,相比于一般 Java 课程中基于文本编辑模式的程序设计,要求首先熟 悉和习惯基于  JBuilder  平台开发  Java  应用程序的一般方法,在界面设计中练习使用  JBuilder  容器和组件、掌握并灵活应用布局管理器,掌握菜单设计和菜单事件响应机制,掌握 JDBC 数 据库连接方法和技巧。 本项目实现以 JBuilder  2006 为例,便于入手;读者可根据 3.1 节介绍,分别以 Eclipse 和  MyEclipse 实现。 

4.1 项目概述

学生成绩管理系统是学生熟悉的 MIS(信息管理系统),是学生易于理解和掌握的,便于 程序设计和拓展开发。本系统以友好的图形界面实现,包括:学生信息管理、课程管理、成绩 管理等功能;系统整体功能结构如图 4­1 所示。 图 4­1  系统功能结构图 读者在完成本教程涉及的基本管理功能后,可以自行添加用户系统身份验证、用户角色 识别,以及进行信息查询、更新、打印、备份等功能。 

4.2 数据库设计

打开 Oracle 10g XE 浏览器工作模式,以 shiy 客户登入,建立表空间,如图 4­2 所示,向 导分为四个步骤,分别是设置列字段、设置主键、设置外键、设置约束条件等。 依据向导,最终设计的学生信息表如图 4­3 所示,学生课程信息表如图 4­4 所示,学生学 期信息表如图 4­5 所示,学生成绩表如图 4­6 所示。 学 生 成 绩 管 理 系 统 学生基本信息管理 学校课程信息管理 学生成绩信息管理 系统辅助功能管理 信息增加 信息删除 信息修改 设置

(2)

图 4­2  创建数据表

图 4­3  学生信息表

图 4­4  课程信息表

(3)

图 4­6  学生成绩表 

4.3 实现步骤

4.3.1 建立项目工程 打开 JBuilder 2006,选择菜单 File→New Project,出现工程创建向导程序:第一步填写 项目名称、存储目录以及选择项目模板,如图 4­7 所示;第二步设置项目的 JDK、输入输出 路径,以及选择必须的类库等,如图  4­8  所示;第三步设置字符集、版权等信息,如图  4­9  所示。 图 4­7  创建项目向导界面 1  图 4­8  创建项目向导界面 2

(4)

图 4­9  创建项目向导界面 3 

创建一个工程,事实上创建了一个文件夹(包),如图 4­10 所示。

图 4­10  创建工程后的文件夹  4.3.2 创建应用程序

选择菜单 File→New, 在 General 选项中选择 Application, 依据向导填写 Application 类名, 即 main 函数入口,如图 4­11 所示;在图 4­12 中设置 Application 界面类名,选择工具栏、菜 单等;在图 4­13 中创建一个运行实例。

(5)

图 4­11  创建 Application 向导界面 1 

图 4­12  创建 Application 向导界面 2 

(6)

创建完毕后项目文件夹如图 4­14 所示。

图 4­14  创建 Application 后的项目文件夹  4.3.3 编辑菜单

打开 MainFrame 类 Design 视图,双击其中的 Menu→jMenuBar1,编辑菜单,其编辑界面 如图 4­15 所示。

(7)

生成的 MainFrame 类结构如图 4­16 所示。 图 4­16  MainFrame 类包图  4.3.4 创建功能面板 选择菜单 File→New,在 General 选项中选择 Panel,进入 Panel Wizard,如图 4­17 所示, 输入类名并单击 OK 按钮,生成一个空面板。 图 4­17  创建学生信息录入面板

(8)

根据需求,还需要创建学生信息录入、查询、修改功能面板,课程、学期录入、修改等 功能面板。  4.3.5 创建 JDBC 连接 创建类 DBConnect.java,其类属性和类方法如第 3.1.1 所示,实现数据库访问。 创建完整的项目结构如图 4­18 所示。 图 4­18  Project 视图 

4.4  JavaUI 布局管理器

因为 Java 语言的目标是跨平台的,在 UI 设计组件位置定位时使用绝对坐标显然会出现 问题,即在不同平台、不同分辨率下的显示效果不一样。Java 为了实现跨平台的特性并且获 得动态的布局效果,将容器内的所有组件安排给一个“布局管理器”负责管理,如排列顺序, 组件的大小位置等, 窗口移动或调整大小后组件如何变化等功能授权给对应的容器布局管理 器来管理,不同的布局管理器使用不同算法和策略,容器可以通过选择不同的布局管理器来 决定布局。  Java  中常用的布局管理器有  6 种,通过使用  6 种布局管理器组合,能够设计出复杂的界 面,而且在不同操作系统平台上都能够获得一致的显示界面。6  种布局管理器分别是  BorderLayout、BoxLayout、FlowLayout、GridBagLayout、GridLayout 和  CardLayout。 在理解这 6 种布局管理器工作方法之前,读者一定要掌握并且灵活应用 BorderLayout 和  GridLayout。 (1)BorderLayout 布局管理器  BorderLayout 是顶层容器(JFrame、JDialog 和 JApplet)的默认布局管理器,也是一种非 常简单的布局策略,它把容器内的空间简单地划分为东、西、南、北、中五个区域,每加入一 个组件都应该指明把这个组件加在哪个区域中。如果容器的大小发生变化,其变化规律为:组 件的相对位置不变, 大小发生变化。 例如容器变高了, 则 North、 South  区域不变, West、 Center、  East 区域变高;如果容器变宽了,West、East 区域不变,North、Center、South 区域变宽。不

(9)

一定所有的区域都有组件,如果四周的区域(West、East、North、South 区域)没有组件,则 由 Center 区域去补充,但是如果  Center 区域没有组件,则保持空白。 (2)GridLayout 布局管理器  GridLayout 将成员按网格型排列,每个成员尽可能地占据网格的空间,每个网格也同样 尽可能地占据空间,从而各个成员按一定的大小比例放置。如果你改变大小,GridLayout 将 相应地改变每个网格的大小,以使各个网格尽可能地大,占据  Container  容器全部的空间。 组件就位于这些划分出来的小区域中,所有的区域大小一样。组件按从左到右、从上到下的 方法加入。

采用 BorderLayout 和 GridLayout 配合使用, 可以完成类似 JBuilder、 Eclipse、 NetBeans, 微软的 Visual  Studio 等很多软件的流行界面。本书中所有的实例也都是采用了这两种布局 模式。 

4.5 添加事件响应 

JBuilder 中添加事件响应比较方便,用户只需显式的为目标组件添加事件响应函数并写函 数体,JBuilder 会自动做好事件监听器的注册和管理。  4.5.1 菜单事件响应 菜单事件添加过程如图 4­19 所示,选中菜单条目后,切换到 Events 页面,在其中的事件 列表中选中需要添加的事件,本程序选择添加 mousePressed 事件,双击完成操作。 图 4­19  添加 menuPressed 的事件响应函数

(10)

添加事件函数后,将在主程序体自动出现定义的 Event Adapter 类,完成 listener 的注册, 读者只需关注完成函数功能部分就可以了,函数体如下所示:  public void jMenuStudentInsert_mousePressed(MouseEvent e) {  /*添加的事件响应函数体,完成面板切换,即实现既定的面板如欢迎面板,切换到学生信息录入面板*/  StudentInsertPanel si=new StudentInsertPanel(this);  //构造学生信息输入面板实例  this.remove(this.getContentPane());  //移去当前面板  this.setContentPane(si);  //设置当前面板为学生信息输入面板  this.setVisible(true);  }  4.5.2 窗体事件响应 如图 4­20 所示,选择目标组件后,如选择输入按钮,切换到 Events 页面,在其中的事件 列表中选中需要添加的事件,本程序选择添加 keyPressed 事件,双击完成操作。 图 4­20  窗体事件响应函数添加 

4.6 实现效果

4.6.1 主界面效果 主界面定义固定大小,如 600*550,效果如图 4­21 所示。

(11)

图 4­21  主界面效果  4.6.2 学生信息的管理 学生信息的管理包括学生信息的录入、查询、修改等操作,其中学生信息录入界面的效 果如图 4­22 所示。 图 4­22  学生信息录入  4.6.3 课程信息的管理 课程的管理包括课程的插入、查询和修改操作,其中课程的插入界面如图 4­23 所示。 图 4­23  课程信息的插入

(12)

4.6.4 学期信息的管理 学期信息的管理包括学期的设定和修改操作,其中学期修改效果如图 4­24 所示。 图 4­24  学期信息的修改  4.6.5 学生成绩管理 学生的成绩管理包括成绩的录入和查询,其中成绩的录入效果如图 4­25 所示。 图 4­25  成绩的录入 

4.7 应用程序打包发布

程序开发完毕后,制作一个在一定平台下的可执行文件并交付给客户是必要的。JBuilder  2006 提供了一套程序打包、发布的可视化方法,分两个步骤:首先制作 Basic JAR 文件;在此 基础上打包制作 EXE 文件或可执行的 JAR 文件。  4.7.1 打包基本的 JAR 文件 选择菜单 New→Archive→Basic,如图 4­26 所示,依据向导制作基本 JAR 文件,详细步 骤如图 4­27 到图 4­33 所示。 如图 4­27 所示,在 File 文本框中填写将要创建的 JAR 文件名称;下面两个选中的复选框 分别表示采取内容压缩和只要编译时就重新构建 JAR 文件。

(13)

图 4­26  制作 Basic Archive 文件

图 4­27  为 Basic Archive 文件命名

如图 4­28 所示,确定要包含的具体的包、类以及标签等资源,一般选择指定资源即可。

(14)

图 4­29  确定 Basic Archive 文件包含第三方类库

图 4­30  确定 Basic Archive 文件 Manifest 

采用混淆器是 Java 程序防止反编译的有效手段,JBuilder 2006 自带 RetroGuard 混淆器。 一般情况下,通过单独下载其他开源的混淆器进行 Java 防反编译操作。

(15)

图 4­32  确定 Basic Archive 文件是否记录重构过程 图 4­33  确定 Basic Archive 文件签名信息 完成向导的各项设置之后,在工程面板会出现 Basic­Archive 条目,选中后右击选择快捷 菜单中的 Make 命令, 或者直接编译工程, 会生成名称为 StudentManage2.jar 的文件, 如图 4­34  所示。 图 4­34  含 Basic­Archive 的工程结构图

(16)

4.7.2 打包可执行文件 选择菜单 New→Archive→Executable  JAR,如图 4­35 所示,依据向导制作可执行文件, 详细步骤如图 4­36 到图 4­39 所示。 图 4­35  制作可执行文件 如图  4­36 所示,Name 文本框为在工程结构图中列出的条目,JAR  File 文本框为选择的  Basic JAR 文件;复选框表示只要编译工程就生成可执行文件。 图 4­36  选择 Basic JAR  图 4­37  指定工程的 Main 函数

(17)

如图 4­38 所示, JBuilder 2006 提供了 5 种不同类型的可执行文件类型, 分别是 Windows  图形界面程序、Windows 文字界面程序、Linux 程序、Solaris 程序和 Mac  OS  X 程序;可以 多选。 图 4­38  选择目标平台 图 4­39  创建运行环境说明 依据向导设置结束后,在左边的工程结构菜单树中生成了一个  Executable­EXE  条目,右 键单击它, 选择快捷菜单中的 Make 或编译工程文件, 可以发现在 Executable­EXE 下生成可执 行文件,如图 4­40 所示;此时就可以把 StudentManage3W.exe 单独发布,在其他配置了 JDK  的 Windows 环境下独立运行了,如图 4­41 所示。 图 4­40  含 EXE 文件的工程结构图

(18)

图 4­41  EXE 文件独立发布 

4.8 本章小结

本章基于 JBuilder  2006 平台完成了学生成绩信息管理系统,由于成绩信息等数据模型是 学生熟悉的,因此本项目的开发过程易于被学生接受,并且利于感兴趣的同学通过功能扩展, 开发更为实用的学生信息管理系统。 对于熟悉 JDK 编程模式的同学,转化到基于可视平台的 Java 编程模式,一定要充分利用 其中的 UI 界面设计技巧,掌握 Java 的布局模式应用和事件响应机制。

參考文獻

相關文件

(intensive physical training). (最好印備5日4夜之活動時間表交學生讓醫生評估)

我們堅信所有學生都有能力學習,而且在智能方面,各有所長 。 因此,擬

著文否認《大乘起信論》為馬鳴所造。在中國,國學大師章太炎最早撰文〈大乘起信論辨〉 [註 4]

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书

• manipulating object status (partially done: instance variable assignments).. • deleting objects —[TODO 3]

學習策略 單元名稱 單元名稱 教節 教節 展示教節 展示教節 學校類別 學校類別 學生年齡 學生年齡 全語文取向 紅綠燈 4 第 3 教節 嚴重 高小至高中 多感官學習 「水水」好朋友 4

Step 4 If the current bfs is not optimal, then determine which nonbasic variable should become a basic variable and which basic variable should become a nonbasic variable to find a

Excel VBA 乃是以 Visual Basic 程式語言為基礎,提供在 Excel 環境中進 行應用程式開發的能力。在 Excel 環境中「Visual Basic 編輯器」提供了一個