第9章 图形用户界面设计
图形用户界面设计
9.1 概述9.1.1图形用户界面(Graphics User Interface) 1、用户界面是用户和计算机之间进行信息交互的界面。 2、用户界面分类:命令行界面和图形用户界面 字符界面 – 用字符串、命令行的方式与用户交互 图形用户界面(GUI) – 用直观的图形来表示数据 – 用直观、方便的GUI标准组件来接收命令 – GUI组成成分的标准化 使用图形的方式借助菜单、按钮等标准界面元素和鼠 标操作,来帮助用户方便地向计算机系统发出命令, 启动操作,并将系统运行的结果同样以图形的方式显 示给用户。2
3、用户界面设计原则 控制权在用户 界面与操作的风格一致性 宽容(容错)性 简洁与美观并重
4、图形用户界面的建立 建立和添加组件形成图形界面的屏幕显示部分; 设置布局管理器,布局图形组件; 设计事件处理,完成相应的事件响应。3
5、界面构成
容器
标准 组件
用户自 定义成 分
6、界面元素 容器是用来组织其他界面成分和元素的单元。 – 可以形成容器的层次,构筑复杂结构 – Window(Frame、Applet、Dialog ) 组件是图形用户界面的基本单位,它里面不再包含其他 的成分。 – GUI组件是图形用户界面标准化的结果。常用的组件有: 选择类的: 单选按钮、复选按钮、下拉列表; 文字处理类的: 文本框、文本区域 命令类的: 按钮、菜单等 – GUI组件的作用是完成与用户的交互。包括接收用户的 命令、文本或选择输入,向用户显示一段文本或一个图 形等。5
6、界面元素 用户自定义成分 – 显示文字、绘制图形、显示图象… – 不能像标准组件一样被系统识别和承认, 只起装饰作用。 – 不能响应用户的动作,不具有交互功能。
图形用户界面的组件层次容器组件 JFrame
JPanel1
JPanel2
JTextField1
JLabel1 JTextField2 JLabel2
JButton1 JButton2
9.1.2 AWT和Swing AWT由java.awt提供,该包中包含了许多用来设计 GUI的组件类。把由Container类的子类或间接子类 所创建的对象称为一个容器,这里Container的子类 是 Window 和 panel 。 AWT 的 组 件 类 有 按 钮 类 (Button)、标签类、菜单类、列表类、文本框类 等。 Swing是由javax.swing提供,该包中包含了许多 Swing的类和组件均由纯Java 代码编写而成,这样 也就使这些组件具有了可跨越操作系统平台性 。
AWT与Swing分析Swing 推出时间 新 AWT 旧
组件名平台相关性 按钮和标签 外形 行为和外形的改变
以J开头好 还能显示图形 可以是圆形 通过方法调用和创建子类可实现 稍差 只能显示文字 只为矩形
Swing组件比AWT组件具有明显的优势。但Swing并不是 用来替代原有的AWT
,两者在功能上有很多重合之处。在事件 的处理、版面的配置等方面还仍然使用AWT。可以将Swing和 AWT看成是相辅相承的两大工具组,为开发出美观、友好、功 能强大的GUI提供了可能。9
从一个简单窗口开始 创建GUI应用程序– Frame必不可少 它是带标题的顶层窗口,是 构建应用程序图形界面的 基础,它为应用程序实现 人机交互提供了对话窗口
先来建一个简单的窗口 应用: GUIDemo1.java– 注意:一定要处理关闭窗 口的事件
例9-1 一个简单的窗口应用程序import java.awt.event.*; import javax.swing.*; public class GUIDemo1{ public static void main(String[ ] args){ JFrame frame=new JFrame("加油呀!");//创建视窗对象 JLabel label=new JLabel("学好java用处大!");//创建标签对象 frame.getContentPane().add(label);//将标签添加到视窗对象中 //定义事件处理 frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); frame.setSize(300,200); //设置视窗尺寸 frame.setVisible(true); //将视窗设置为可见 11 }
9.1.3 GUI标准组件概述1、构建程序的图形用户界面的主要任务– 创建各界面组件并排列成图形用户界面的外观 – 定义这些组件对不同事件的影响从而完成图形用户界 面功能
2、组成图形用户界面的成分– 用户自定义类 – 容器: 是能够容纳并排列其他组件的对象 – 组件: 放置在容器中的对象 在Java中,容器和组件是由AWT包中的对象来代表, 这些对象间的层次关系如下图:
3、AWT类层次关系图其他组件 MenuComponent
Button Checkbox TextComponent
Component
ContainerMenuBar
TextArea TextField PanelApplet
WindowFrame Dialog
Menu MenuItem13
4、基本组件 基本组件被安放在容器中的某位置,用来完成一 种具体的与用户交互的功能,使用基本组件一般 包括如下的步骤– 创建某种基本组件类的新对象,指定该对象的属性 比如:外观、大小等 – 将该组件对象加入到某个容器的合适位置 – 创建该组件对象的监听者,即实现以该组件为事件源 的事件对应的监听者接口,也可以使现有的类实现该 接口成为监听者。将该组件对象注册给此监听者,并 在监听者内部实现监听者接口中定义的方法,对该组 件可能引发的事件加以处理,定义新加入组件对象的 交互性界面功能。 比如:接收用户输入的文本、在屏幕显示输出等14
5、Component类Component是所有组件和容器的抽象父类– 显示功能:paint(), update(), repaint() – 显示效果控制:字体、颜色、位置、尺寸 – 图象处理:一般利用Canvas和Container来显示图 像 – 事件处理机制: addXXXListener( ) removeXXXListener( )
5、Component类 add(PopupMenu popup) 在组件上
加入一弹出菜单 addFocusListener(FocusListener l)将发生在本组件上 的事件注册给监听者,以进行事件处理。 setSize(int width, int height) 设置组件尺寸 repaint(int x,int y,int width, int height) 重画组件 setFont(Font f) 设置组件字体 setBackground(Color c) 设置组件背景色 setVisible(boolean b) 设置组件是否可见
…… 此处隐藏:1368字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




