Java GUI教学大纲
《Java GUI》教 学(实 验) 大 纲
课程代码:59010815 开课学期:一 学年二 学期
适用专业:软件技术专业 学 时: 108
编写教师:李剑波 学 分: 6
审 核:杨振华
第一部分 说 明
一、课程的性质、作用
Java GUI是软件技术专业的一门专业课,通过对本书的学习,可以快速具备完整的图形用户界面程序的设计开发能力。
二、课程的任务与基本要求
本课程以最新的Eclipse为开发环境,使用Visual Editor 插件作为可视化开发工具,结合学生成绩管理系统等实例的逐步设计过程进行详细讲解。要求学生掌握窗口、基本组件、容器、布局管理、事件处理、菜单、工具栏、表格和树等组件的可视化创建、属性设置及其在JavaGUI程序设计中的应用;JFace对话框、查看器、编辑器、排序器和过滤器等高级组件的设计与应用;Java GUI 程序的设计思路、可视化快速开发方法和步骤;以及必要的相关知识、原理和开发工具的基本使用方法与技巧。
三、教学方法建议
《Java GUI》是软件技术专业,企业应用开发方向下一门实践性、操作性、创意性、综合性很强的课程。是数字信息时代人机互动的媒介,该课程以市场对复合型信息人才的需求为出发点,阐明了该课程的基本定位与教学目标。在教学过程中,要求学生首先了解界面的交互设计,理解界面设计应该遵循的基本原则,掌握界面美观功能布局设计,注重用户操作友好性,加强学生实践能力培养。
四、本课程与其它课程的关系
Java GUI其先修课是《Java 基础》、《C++语言程序设计》、《数据库》、《计算机网络》。本课程又为《Java实训》课程提供程序设计基础。
五、本课程与专业核心技术、能力培养的关系及作用
本课程在界面设计教学中,运用了学生管理系统的实例,学生通过对界面及其相关系统功能的设计,了解企业实际开发项目工作过程的实践,积累解决实际问题的工作经验并学习深入的专业理论知识,课程对学生职业能力培养和职业综合素质培养方面起重要支撑作用。
第二部分 本 文
一、基本内容与学时分配
(一)第1章 Java GUI设计概述
1、GUI简介 ················································································ (0.5学时)
教学内容要点:(1)GUI概念(2)计算机GUI简史(3)GUI的基本组成(4)嵌入式系统的GUI
2、Java GUI简况··········································································· (0.5学时)
教学内容要点:(1)AWT(2)Swing(3)SWT (4)JFace
3、Java GUI程序的实现原理······························································· (1学时)
教学内容要点:(1)程序的图形用户界面显示原理(2)Java GUI的构成 (3)Java GUI组件的布局(4)用户交互与事件循环(5)可视化程序设计的概念(6)可视化程序设计的简要发展简况
(二)Java可视化开发环境的配置与使用
1、Eclipse简介 ············································································· (0.5学时)
教学内容要点:(1)Eclipse是什么(2)Eclipse版本简况(3)Eclipse平台体系结构
2、Eclipse Java可视化开发环境的安装配置 ·········································· (0.5学时)
教学内容要点:(1)JDK的安装配置(2)Eclipse的安装配置(3)Visual Editor的安装配置
3、Eclipse开发界面及操作······························································· (0.5学时)
教学内容要点:(1)编辑器及其操作(2)视图和透视图及其操作(3)项目与工作考空
间组件的布局(4)Eclipse首选项
4、Eclipse Java项目开发的基本操作···················································· (0.5学时)
教学内容要点:(1)Java项目的创建及其构成(2)Java项目的构建路径(3)类的创
建及Java代码编辑重构(4)运行Java项目(5)调试项目
5、Eclipse VE可视化开发Java GUI程序的基本操作······························· (0.5学时)
教学内容要点:(1)可视类的创建(2)Eclipse VE编辑视图(3)特性视图(4)设计
第一个Java GUI程序
6、Java GUI项目的打包与发布·························································· (0.5学时)
教学内容要点:(1)导出可运行的JAR文件(2)发布打包的Java项目
(三)程序窗体及基本组件的设计
1、程序窗体的设计 ·········································································· (1学时)
教学内容要点:(1)窗体标题(2)位置和大小(3)背景和前景颜色(4)窗口的类型(5)其它窗体属性
2、标签(Label)设计 ········································································ (1学时)
教学内容要点:(1)字体、前景色、背景色(2)对齐方式、自动换行(3)分隔符、朝
向和阴影(4)其它属性
3、按钮(Button)设计 ······································································ (2学时)
4、文本框(Text)设计 ··································································· (2学时)
5、下拉列表框(Combo)设计 ······························································ (2学时)
教学内容要点:添加列表项
6、Java SWT GUI程序的基本结构 ····················································· (2学时)
教学内容要点:(1)Eclipse VE生成的Java SWT GUI程序清单分析(2)Java SWT GUI程序的基本结构
(四)GUI交互功能设计—事件处理
1、事件处理的概念及委托事件处理模型 ················································· (6学时)
教学内容要点:(1)事件处理的概念(2)事件处理模型(3)SWT的事件处理机制(4)SWT的事件处理模式
2、事件处理的设计 ······································································· (5学时)
教学内容要点:(1)事件监听器的两种实现方式(2)事件监听器的两种实现方式(3)
事件监听器类的三种编写方法(4)事件监听器类的三种编写方法
3、常用事件监听器 ······································································ (6学时)
教学内容要点:(1)鼠标事件(2)键盘事件(3)焦点事件(4)组件控制事件(5)选
择事件
(五)布局设计
1、布局管理器概述 ·········································································· (2学时)
教学内容要点:(1)布局术语(2)布局方法(3)布局数据类
2、填充式布局(Fill Layout) ····························································· (2学时)
教学内容要点:在单行或者单列中放置组件,强制这些组件为同一大小。组件初始状态下都和最高的容器组件一样高,和最宽的组件一样宽。组件不会换行,且不能定制单个组件的边距(margin)和间距(spacing)。
3、行列式布局(Row Layout) ···························································· (2学时)
教学内容要点:(1)Row Layout的属性(2)布局数据类Row Data
4、网格式布局(Grid Layout) ···························································· (2学时)
教学内容要点:(1)Grid Layout的属性(2)布局数据类Grid Data
5、表格式布局(Form Layout) ························································· (2学时)
教学内容要点:Form Layout的属性、Form Attachment类 、布局数据类Form Data 、
以容器为参照物定位组件、以相邻非容器组件为参照物定位组件
6、堆栈式布局(Stack Layout) ······························································ (2学时)
(六)容器的使用
1、面板容器(Composite) ····································································· (2学时)
教学内容要点:Composite的属性、
2、分组框(Group)··········································································· (2学时)
教学内容要点:属性、在SWT中,分组框(Group)组件把内容上相关的子组件组合
3、带滚动条的面板(Scrolled Composite)············································ (2学时)
教学内容要点:(1)属性(2)带滚动条面板的使用方法
4、选项卡(Tab Folder和Tab Item)······················································ (2学时)
教学内容要点:(1)选项卡的组件结构(2)Tab Folder属性(3)带有选项卡GUI的设计方法
5、分割窗(Sash Form)··································································· (2学时)
教学内容要点:属性、分割窗中创建组件、分割窗的控制
6、View Form容器··········································································· (2学时)
(七)综合实例
1、数据结构设计 ············································································· (2学时)
2、用户登录模块 ·········································································· (2学时)
3、专业与课程设置模块 ·································································· (2学时)
4、用户注册模块 ············································································ (2学时)
5、学生模块 ················································································· (2学时)
6、教师模块 ··················································································· (2学时)
7、管理员子系统的集成 ····································································· (2学时)
(八)工具栏、菜单及其它组件的设计
1、工具栏设计················································································· (2学时)
教学内容要点:(1)工具栏和工具项的设计方法(2)工具栏(Tool Bar)的属性设置(3)工具项(Tool Item)的属性设置(4)工具按钮事件
2、动态工具栏(Cool Bar类、Cool Item类)··········································· (2学时)
教学内容要点:(1)SWT动态工具栏的结构(2)动态工具栏的设计方法(3)动态工具栏的属性
3、菜单设计 ················································································· (2学时)
4、进度条和数值组件的设计······························································· (2学时)
教学内容要点:(1)进度条(Progress Bar)(2)刻度条(Scale)(3)滑动条(Slider)
(4)微调器(Spinner)
5、浏览器(Browser)···································································· (2学时)
6、系统托盘 ················································································ (2学时)
教学内容要点:(1)SWT系统托盘的获取(2)托盘项(TrayItem)(3)TrayItem常用方法
7、颜色和字体 ············································································· (2学时)
教学内容要点:(1)颜色(Color)(2)字体(Font)
8、颜色和字体 ············································································· (2学时)
教学内容要点:(1)Image类(2)Image Data类(3)图形上下文(Graphics Context)画布(Canvas)(4)图像描述符(Image Descriptor)(5)图像注册表(Image Registry)(7)应用实例
(九)对话框的使用
1、消息对话框(Message Dialog)·························································· (2学时)
教学内容要点:(1)五种消息类型(2)构造方法(3)打开消息对话框
2、输入对话框(Input Dialog)···························································· (2学时)
教学内容要点:(1)构造方法(2)常用方法
3、目录对话框(Directory Dialog)······················································· (1学时)
4、文件对话框(File Dialog)····························································· (2学时)
5、颜色对话框(Color Dialog)······················································ (2学时)
6、字体对话框(Font Dialog)······················································· (2学时)
7、打印对话框及打印支持································································ (2学时)
教学内容要点:(1)打印数据类(Printer Data)(2)打印类(Printer)(3)打印对话框(Print Dialog)(4)对话框应用实例
8、向导对话框(Wizard Dialog)······················································· (2学时)
教学内容要点:(1)向导页类(Wizard Page)(2)向导类(Wizard)(3)向导对话框(Wizard Dialog)类(4)设计实例
(十)表格设计与数据处理
1、获取与封装数据库中的数据 ···························································· (2学时)
教学内容要点:(1)加载驱动数据库程序(2)连接数据库执行SQL语句(3)访问结果集中的数据(4)释放资源(5)应用实例(6)封装数据
2、创建表格·················································································· (2学时)
教学内容要点:(1)创建与设置Table(2)创建表格列(Table Column)(3)创建表格查看器(Table Viewer)(4)装载与显示表格数据
3、表格的编辑··············································································· (2学时)
教学内容要点:(1)表格单元编辑器(Cell Editor)(2)表格单元修改器(Cell Modifier)(3)设计示例
4、表格排序和筛选 ········································································· (2学时)
教学内容要点:(1)用comparator排序(2)用Sorter排序(3)过滤器(filters)与筛选
5、表格的其它常用操作··································································· (2学时)
教学内容要点:(1)表格行选择事件处理(2)增加和删除表行(3)在表行之间移动选择器(4)设置单元格颜色
(十一)树和列表设计
1、JFace程序入门 ············································································ (2学时)
教学内容要点:(1)JFace GUI程序的结构(2)JFace的Action
2、树的设计 ················································································ (1学时)
教学内容要点:(1)树(Tree)和树查看器(Tree Viewer)组件(2)设计实例—树形文件阅读器(3)数据结构的设计
3、表格型树和带复选框的树····························································· (2学时)
教学内容要点:(1)Tree Column组件(2)表格树的查看器(3)设计实例—树形成绩统计表(4)带复选框的树
4、列表(List)与组合框查看器(Combo Viewer) ··································· (2学时)
教学内容要点:(1)列表(List)组件(2)列表查看器(List Viewer)(3)组合框查看器(Combo Viewer)
二、技术能力培养目标、措施、步骤
通过该课程的学习,掌握管理信息系统界面设计及系统开发的过程及步骤,教学过程中以学生动手实践为主,同时通过以下步骤来培养:(1)专业知识:具有扎实的软件技术专业知识并能够熟练应用;(2)个人能力:具有较强软件技术职业能力和职业素质;(3)团队能力:具有较强人际交流能力与团队合作能力;(4)企业和社会环境下的构思、设计、实现和运行的能力:在软件技术企业和社会环境下,具备构思、设计、实施及运行等综合能力。
三、课程实验
(一)实验仪器设备、主要技术指标及配置要求
|
仪器设备名称 |
主要技术指标(或型号规格) |
配套数 |
备注 |
|
计算机终端 |
|
50 |
|
(二)实验项目一览表
|
序 号 |
实验名称 |
内容提要 |
实验 要 求 |
实验 类型 |
实验时数 |
每组 人数 |
所在实验室名称 |
备注 |
|
1 |
编写第一个GUI程序 |
配置好Eclipse VE上机环境 |
必做 |
验证 |
4 |
1 |
计算机实训中心 |
|
|
2 |
仿QQ登录窗口 |
掌握窗体、标签、文本框和组合框的设计与使用 |
必做 |
设计 |
4 |
1 |
|
|
|
3 |
网络即时通信登录窗口 |
掌握事件监听器的使用方法 |
必做 |
设计 |
4 |
1 |
计算机实训中心 |
|
|
4 |
管理信息系统界面 |
为界面的登录系统进行布局设计 |
必做 |
设计 |
4 |
1 |
|
|
|
5 |
仿QQ通信主界面 |
掌握面板、带滚动条的面板、选项卡等容器的使用 |
必做 |
设计 |
4 |
1 |
计算机实训中心 |
|
|
6 |
网络即时通信系统管理模块 |
掌握菜单、工具栏及其事件处理 |
必做 |
设计 |
4 |
1 |
计算机实训中心 |
|
四、习题与作业
教材习题+教师教学过程中根据学生掌握情况附加补充
五、课程考核形式与成绩评定
1、考核方式:上机考试。
2、实施方案:总成绩=平时成绩(20%)+出勤(20%)+上机考试(60%)。
第三部分 附 录
一、教学参考书
[1] Bruce Ecke 主编, 《Java 编程思想》(第1 版),机械工业出版社出版社, 2009 年 1 月。
[2]舒智勇 主编,《软件测试自动化技术与实例详解》,电子工业出版社,2000年
二、建立课程网站
说明:①纯理论课程删除“第二部分本文”中的“课程实验”部分。并重新编标题号。
纯实验课程删除“第二部分本文”中的“基本内容与学时分配”部分。并重新编标题号。
有实验的课程“三性”实验比例合格课程达30%以上、优质课程达50%以上、精品课程达70%以上。
④大纲审核人为教研(实验)室主任和一名具有副高以上职称的教师。