首页 图形用户界面设计

图形用户界面设计

举报
开通vip

图形用户界面设计图形用户界面设计 1 Abstract Windows Toolkit(抽象窗口工 具) AWT类库中的各种操作被定义成在一个并不存在的“抽象窗口”中进行的。 抽取不同软硬件平台中所实现的窗口的公共特性。 所设计的界面独立于具体的 界面实现 。 提供与机器无关的基本GUI标准组件。 选择类组件: 单选按 钮、复选框、下拉选单、列表框 文字处理类组件: 标签、文本框、编辑框。 命令类组件: 按钮、工具栏、菜单等。 LayoutManager(布局管理器) 为 了使我们生成的图形用户界面具有良好的平台无关性,Ja...

图形用户界面设计
图形用户界面设计 1 Abstract Windows Toolkit(抽象窗口工 具) AWT类库中的各种操作被定义成在一个并不存在的“抽象窗口”中进行的。 抽取不同软硬件平台中所实现的窗口的公共特性。 所设计的界面独立于具体的 界面实现 。 提供与机器无关的基本GUI 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 组件。 选择类组件: 单选按 钮、复选框、下拉选单、列表框 文字处理类组件: 标签、文本框、编辑框。 命令类组件: 按钮、工具栏、菜单等。 LayoutManager(布局管理器) 为 了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布 局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大 小的方式。 每个容器都有一个布局管理器,当容器需要对某个组件进行定位或 判断其大小尺寸时,就会调用其对应的布局管理器。 LayoutManager(布局管理 器) 在程序中安排组件的位置和大小时,应该注意: 容器中的布局管理器负责 各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果 试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法, 则都会被布局管理器覆盖。 如果用户确实需要亲自设置组件大小或位置,则应 取消该容器的布局管理器,方法为: setLayout(null); 常用容器 Frame Panel Applet Frame .ct | +----.onent | +----.ainer | +----.ow | +----.e Panel .ct | +----.onent | +----.ainer | +----.l LayoutManager FlowLayout ?缺省布局管理器 BorderLayout GridLayout CardLayout GridBagLayout BorderLayout Window,Frame和Dialog的缺省布局管理器。BorderLayout布局管理器包括5个区域:North,South, East,West和Center。 常用容器 Frame Frame是一个顶级窗口。 Frame的缺省布局管理器为BorderLayout。 Panel Panel无法单独显示,必须 添加到某个容器中。 Panel的缺省布局管理器为FlowLayout。 当把Panel作为 一个组件添加到某个容器中后,该Panel仍然可以有自己的布局管理器。因此, 可以利用Panel使得BorderLayout中某个区域显示多个组件。 CardLayout CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空 间。 AWT Event Model What is an Event? Event 事件,就是发生在用户 界面上的用户交互行为所产生的一种效果。 Event Source 产生事件的对象。 Event handler 接收事件对象并对其进行处理的方法。 事件处理模型 Hierachical model(JDK 1.0) 事件传递机制。 Delegation model(JDK 1.1, 1.2) 授权处理机制。 Delegation Model 将事件源对象和事件处理器(事件 监听器)分开。 使用JDK1.1授权处理模型进行事件处理的一般方法: 对于某 种类型的事件XXXEvent,要想接收并处理这类事件,必须定义相应的事件监听器 类,该类需要实现针对特定事件的特定接口XXXListener; 事件源中产生事件 后,必须注册相应于该类事件的监听器,使用addXXXListener(XXXListener )方法来注册监听器。 .tObject类 EventObject类是所有事件对象的基础类, 所有的事件类都是由它派生出来的。 public class EventObject implements .alizable { protected transient Object source; public EventObject(Object source); public Object getSource(); public String toString(); } .vent 和AWT有关的所有事件类都由.vent类派生 ,AWT事件共有10类,可以归为两大类:低级事件和高级事件。 低级事件 ComponentEvent(组件事件:组件尺寸的变化,移动) ContainerEvent(容器事件:组件增加,移动) WindowEvent(窗口事件:关闭窗口,窗口闭合,图标化) FocusEvent(焦点事件:焦点的获得和丢失) KeyEvent(键盘事件:键按下、释放) MouseEvent(鼠标事件:鼠标单击,移动) 高级事件(语义事 件) ActionEvent(动作事件:按钮按下,TextField中按Enter键) AdjustmentEvent(调节事件:在滚动条上移动滑块以调节数值) ItemEvent(项目事件:选择项目,不选择项目) TextEvent(文本事件,文本对象改变) 事件处理举例 事件适配器(Event Adapters) ComponentAdapter(组件适配器) ContainerAdapter(容器适配器) FocusAdapter(焦点适配器) KeyAdapter(键盘适配器) MouseAdapter(鼠标适配器) MouseMotionAdapter(鼠标运动适配器) WindowAdapter(窗口适配器) 1 1 1 1 1 1 1 1 1 事件类 ActionEvent类 : 存放这个事件的细节。 e.getSource() 返回事件发生的对象(名) e.getActionCommand() 返回按扭名。 ActionListener 接口 public void actionPerformed(ActionEvent e) 1 监听者类 某个类可以兼职也可以专职做这件事(实现监听者接口)。 一个类若实现一个接口,必须实现接口的全部方 法。 例如:ActionListener接口只有一个方法: void actionPerformed(ActionEvent e) 实现接口的类可以是: 一般类 内部类 匿名类 3 兼职 4 专职,内部类 5 匿名类 1 事件处理有关问题 有哪些事件类 (.t) , 每个事件类的监听者接口, 每个监听者接口规定的方法, 多方法的监听者接口的适配器(实现接口的抽象类)是什么, 组件的事件委托(注册) 方法, 1 窗口事件 关闭窗口框时引发 WindowEvent事件 委托 addWindowListener(new Wclose()); 定义监听者类 class Wclose implements WindowListener { public void windowClosing(WindowEvent e) { System.exit(0); } WindowListener类有7 个方法,必须都实现 WindowAdapter 接收窗口事件的抽象适配器类,用空内容实现了WindowListener接口的所有方法 class Wclose extends WindowAdapter {„} 1 ActionEvent事件 引发原因: 单击按扭,双击列表框中选项,选择菜 单项,文本框中的回车 事件监听接口:ActionListener 接口方法: actionPerformed(ActionEvent e) 组件注册该事件方法: addActionListener(监听者) 1 TextEvent事件 引发原因: 文本框或文本区 域内容改变 事件监听接口:TextListener 接口方法: textValueChanged(TextEvent?e) 组件注册该事件方法: addTextListener(监听者) 1 ItemEvent事件 引发原因: 改变列表框中的选中项 改变复选框选中状态 改变下拉选单的选中项 事件监听接口:ItemListener 接口方法: itemStateChanged(ItemEvent?e) 组件注册该事件方法: addItemListener(监听者) 1 AdjustmentEvent事件 引发原因: 操作滚动条改变滑块位置 事件 监听接口:AdjustmentListener 接口方法: adjustmentValueChanged(AdjustmentEvent?e) 组件注册该事件方法: addAdjustmentListener(监听者) 1 KeyEvent事件 引发原因: 敲完键(KEY-TYPED) 按下键 (KEY-PRESSED) 释放键 (KEY-RELEASE) 事件监听接口:KeyListener 接口方法: keyPressed(KeyEvent?e) 键已被 按下时调用 keyReleased(KeyEvent?e) 键已被释放时调用 keyTyped(KeyEvent?e) 键已被敲完时调用 KeyEvent方法:char ch = e.getKeyChar(); 事件监听适配器(抽象类)KeyAdapter 组件注册该事件方法: addKeyListener(监听者) 1 MouseEvent事件 引发原因: (鼠标作用在一个组件上) 鼠标事件:鼠标键按下,鼠标键抬起,单击鼠标 ,鼠标光标进入一个组件,鼠标光标离开一个组件。 鼠标移动事件:鼠标移动,鼠标拖动 鼠标事件监听接口1: MouseListener 接受鼠标事 件 该接口方法: mouseClicked(MouseEvent?e) mouseEntered(MouseEvent?e) 鼠标光标进入一个组件 mouseExited(MouseEvent?e) 鼠标光标离开一个组件 1 MouseEvent事件(续) 鼠标事件监听适配器(抽象类)MouseAdapter 鼠标事件监听接口2: MouseMotionListener 接受鼠标移动事件 该接口方法: mouseMoved(MouseEvent?e) 鼠标光标在组件上移动 mouseDragged(MouseEvent?e)用鼠标拖动一个组件 鼠标移动事件监听适配器 MouseMotionAdapter 组件注册鼠标事件方法: add MouseListener(监听者) 组件注册鼠标移动事件方法: add MouseMotionListener(监听者) 1 MouseEvent事件(续) MouseEvent方法 e.getClickCount() =1 单击 =2 双击 Point e.getPoint() 取鼠标光 标位置 int e.getX() int e.getY() 取鼠
本文档为【图形用户界面设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:22KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-09-30
浏览量:8