GUI教学设计精选

上传人:hs****ma 文档编号:492335837 上传时间:2024-02-10 格式:DOC 页数:15 大小:242KB
返回 下载 相关 举报
GUI教学设计精选_第1页
第1页 / 共15页
GUI教学设计精选_第2页
第2页 / 共15页
GUI教学设计精选_第3页
第3页 / 共15页
GUI教学设计精选_第4页
第4页 / 共15页
GUI教学设计精选_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《GUI教学设计精选》由会员分享,可在线阅读,更多相关《GUI教学设计精选(15页珍藏版)》请在金锄头文库上搜索。

1、博学谷一一让IT教学更简单,让IT学习更有效传智播客Java基础入门教学设计课程名称:Java基础入门授课年级:2014年级授课学期:2014学年第一学期教师姓名:某某老师2014年02月09日word.课题名称第9章GUI计划学时6课时GUI 全称是 Graphical User In terface,就是应用程序提供给用户操作的图形内容分析界面,包括窗口、菜单、按钮、工具栏和其它各种图形界面元素。Java中针对GUI设计提供了丰富的类库,这些类分别位于java.awt和javax.swing 包中。本章针对AWT和Swing进行详细的讲解。教学目标及基本要求要求学生了解 GUI开发的相关原

2、理和技巧,掌握 AWT绘图,熟悉Swing组件的使用。AWT事件处理、布局管理器、重点及措教学重点:AWT事件处理、布局管理器、Swing组件的使用难点及措教学难点:AWT事件处理、布局管理器、Swing组件的使用教学 过 程教学方式教学采用教师课堂讲授为主,使用教学PPT讲解第一课时(AWT概述、事件处理机制、事件适配器、用匿名内部类实现事件监听事件处理)-AWT概 述AWT组成AWT是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图 形界面的组件。在 JDK中针对每个组件都提供了对应的Java类,如下图所示:Win dowWindow类是不依赖其它容器而独立存在的容器,它有两个子

3、类,分别是Frame类和Dialog类。如下图所示:Dialog示例PanelPane容器只能存在其它容器( Window或其子类)中,一个 Panel对象代 表了一个长方形的区域,在这个区域中可以容纳其它组件,下图是一个Pa nel组件:-事件处理机制事件处理机制专门用于响应用户的操作,在学习如何使用 AWT事件处理机制之前,首先介绍几个比较重要的概念,具体如下所示:事件对象(Eve nt):封装了 GUI组件上发生的特定事件。事件源(组件):事件发生的场所,通常就是产生事件的组件。监听器(Listener):负责监听事件源上发生的事件,并对各种事件做 出响应处理的对象(对象中包含事件处理器

4、)。事件处理器:监听器对象对接收的事件对象进行相应处理的方法。外部动作事件对象2.触发事件源上的事件4.接收事件对象,激活事件处理器,实现预定功能3.产生并传递事件对象事件源(组件)1.将监听器注册到事件源监听器(含处理器)-事件适配器JDK提供了一些适配器类,它们是监听器接口的默认实现类,这些实现类 中实现了接口的所有方法。程序可以通过继承适配器类来达到实现监听器接口 的目的。例如,定义一个继承适配器类WindowAdapter的类 MyWindowAdapter,如果要实现关闭窗口的功能,需要对win dowClosi ng()方法进行重写。-用匿名内部类实现事件处理实际开发中,经常通过匿

5、名内部类来创建事件监听器对象,针对所发生的事件进行处理。例如,为窗口添加一个具有点击事件的按钮,该按钮用于退出 程序,具体的实现代码如下所示:import java.awt.*;import java.awt.event.*;public class Example04 public static void main(String args) Frame f = new Frame(”我的窗体!);f.setSize(400, 300);f.setLocation(300, 200);f.setVisible(true);Button btn = new Button(EXIT); /创建按钮

6、组件对象f.add(btn); /把按钮对象加载到窗口上/用内部类的方式为按钮组件注册监听器btn.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent e) System.exit(0););当按钮被点击时,会把点击事件作为对象传递给事件监听器,作出退出程 序的处理。第二课时(窗体事件、鼠标事件、键盘事件和动作事件、布局管理器)-窗体事件当对窗体进行操作时,比如窗体的打开、关闭、激活、停用等,这些动作 都属于窗体事件,JDK中提供了一个类 WindowEvent用于表示这些窗体事件。4鼠标事件在图形用户

7、界面中,用户会经常通过鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标事件, 其中包括鼠标按下、鼠标松开、鼠标单击等。 鼠标事件使用 MouseEvent类表示,处理鼠标事件需要通过实现 MouseListener 接口定义监听器,也可以继承适配器MouseAdapter类来实现。-键盘事件例如键盘按下、释放等,这些操作被定义为键盘事件。键盘事件使用 KeyEvent类表示,处理键盘事件的监听器对象需要实现KeyListener接口或者继承 KeyAdapter 类。-动作事件动作事件只是表示一个动作发生了,不需要关心使用哪种方式对文件进行关闭,只要是对关闭按钮进行操作,即触发了动作事件。

8、动作事件用 Actio nEve nt类表示,处理 Actio nEvent 事件的监听器对象需要实现Action Liste ner 接口。-布局管理器组件不能单独存在,必须放置于容器当中,而组件在容器中的位置和尺寸 是由布局管理器来决定的。每个容器在创建时都会使用一种默认的布局管理器, 在程序中可以通过调用容器对象的setLayout()方法设置布局管理器,通过布局管理器来自动进行组件的布局管理。FlowLayoutFlowLayout (流式布局管理器)下,容器会将组件按照添加顺序从左向右放置。到达边界时,会自动将组件放到下一行的开始位置。FlowLayout有三个构造方法,具体如下:方

9、法声明功能描述FlowLayout。组件默认居中对齐,水平、垂直间距为5个单位FlowLayout(i nt alig n)指定组件的对齐方式,水平、垂直间距为5个单位FlowLayout(i nt alig n,i nt hgap, int vgap)指定组件的对齐方式和水平、垂直间距F列是一个FlowLayout布局管理器的示例:BorderLayoutBorderLayout (边界布局管理器)将容器划分为五个区域, 分别是东(EAST)、 南(SOUTH)西(WEST)北(NORTH卜中(CENTER。BorderLayout 布局的效果如 下图所示。S0LTHGridLayoutGr

10、idLayout (网格布局管理器)使用纵横线将容器分成n行m列大小相等 的网格,每个网格中放置一个组件。y Co: iv v.1orni113112totnsbtn4btnOktn?bh8呦EGridBagLayoutGridBagLayout (网格包布局管理器)与 GridLayout布局管理器类似,不 同的是,它允许网格中的组件大小各不相同,而且允许一个组件跨越一个或者 多个网格。使用GridBagLayout布局管理器的关键在于GridBagConstraints 对象,它是控制容器中每个组件布局的核心类。GridBagConstraints的常用属性如下所示:gridx和gridy

11、 :用于设置组件左上角所在网格的横向和纵向索引。gridwidth和gridheight :用于设置组件横向、纵向跨越几个网格。fill :用于设置是否及如何改变组件大小。 weightx和weighty :设置组件在容器中的水平方向和垂直方向的权重。需要注意的是,如果希望组件的大小随着容器的增大而增大,必须同时设置 GridBagConstraints 对象的 fill 属性和 weightx、weighty 属性。CardLayout卡片布局管理器(CardLayout)将界面看做一系列卡片,在任何时候只有其 中一张卡片是可见的,这张卡片占据容器的整个区域。第三课时(AWT绘图、JFram

12、e、JDialog和中间容器)-AWT绘图Graphics 类在java.awt包中专门提供了一个 Graphics类,它相当于一个抽象的画笔, 其中提供了各种绘制图形的方法,使用Graphics类的方法就可以完成在组件上绘制图形。Graphics的常用方法如下所示:setColor()用于指定上下文颜色,方法中接收一个Color类型的参数。setFont()用于指定上下文字体,方法中接收一个Font类型的参数。drawRect()和drawOval()方法用于绘制矩形和椭圆形的边框, fillRect()和fillOval()用于使用当前颜色填充绘制完成的矩形和椭圆形。 drawString

13、()用于绘制一段文本,第一个参数str表示绘制的文本内容,第二个和第三个参数x、y为绘制文本的左下角坐标。-Swing简介大部分的Swing组件都是JComponent类的直接或者间接子类,而 JComponent类是 AWT中 java.awt.Container的子类,接下来通过下图来描述AWT和Swing大部分组件的关联关系:、,JFrameJFrame是一个独立存在的顶级窗口,不能放置在其它容器之中,Jframe支持通用窗口所有的基本功能,例如窗口最小化、设定窗口大小等等。通过一个案例演示JFrame的效果:public Example15()this.setTitle(JFrameT

14、est);this.setSize(200, 300);/定义一个按钮组件JButton bt = new JButton(按钮);/设置流式布局管理器this.setLayout(new FlowLayout();/ 添加按钮组件this.add(bt);/设置点击关闭按钮时的默认操作this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);运行结果:JFrame类和Frame类最大的区别在于,JFrame类提供了关闭窗口的功能。4 JDialogJDialog对话框可分为两种:模态对话框和非模态对话框。所谓模态对话 框是指用户需要等到处理完对话框后才能继续与其它窗口交互,而非模态对话 框允许用户在处理对话框的同时与其它窗口交互。Jdialog常用的构造方法如下所示:方法声明功能描述JDialog(Frame owner)r创建非模态的对话框JDialog(Frame owner,String title)创建具有指定标题的非模态对话框JDialog(Frameow ner,boolea n modal)创建一个有指定模式的无标题对话框*中间容器中间容器不能单独存在,只能放置在顶级窗口中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号