图形用户界面概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1 图形用户界面概述
6.1.1 基本概念
(1)GUI—图形用户界面(Graphics User Interface)使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户和计算机之间进行交互。
(2)AWT——抽象窗口工具集(abstract window toolkit) Java中用来生成图形用户界面的类库是java.awt 包,它Java中基本包中最大的一个,定义了所有GUI 组件类,以及其它用于构造图形界面的类。Sun公司在JDK1.0中就提供了AWT。
为了实现跨平台特性,AWT类库中的各种操作被定义成在一个并不存在的“抽象窗口”中进行。
AWT组件的类层次•Component 组件是所有AWT组件的基类,提供了基本的显示和事件处理特征。
(3)Swing GUI组件
◆在最新的Java2中,javax.swing包被列入Java的基础类库JFC,其中定义的Swing GUI组件相对于
java.awt包的各种GUI组件增加了许多功能。
◆Swing组件类
Swing包含250多个类(有些是组件,有些是支持类,组件的名字都以J 开头),Swing提供了40多个
组件,是AWT的4倍,用轻量组件(没有本地对等组件)代替了AWT的重量组件(与本地对等组件相关联)。重量级组件是指组件的属性跟操作系统有关,轻量级组件跟操作系统无关,轻量级组件在不同平台下显示效果一样。
Swing组件简介(续)
Swing采用了一种MVC的设计范式,即“模型-视图-控制器”(Model-View-Controller):
◆模型(Model)——用于存储定义该组件的数据;
◆视图(View)——用模型中的数据生成该组件的可视化表示(即显示出该组件);
◆控制器(Controller)——响应用户对该组件的交互操作。
MVC是一种先进的组件设计模式。
MVC 结构示意图
视图
(组件外观)
控制器
(处理事件,
更改模型或者
视图)模型
(组件数据)
UI 代表(向组件提供外观和感觉)
Swing组件简介(续)
◆Swing包中有4个最重要的类:
JApplet、JFrame、JDialog、JComponent
◆JComponent的所有子类都是轻量级组件,其它三个都是重量级组件,轻量级组件必须在这些重量容器中绘制自己。
◆除模仿AWT组件所提供的功能外,几乎所有的Swing替代组件都有其他一些特性,如Swing按钮可以显示图标和文本,AWT按钮只显示文本。
(4)设计图形界面的步骤
1)根据需要创建界面元素,设计出界面的物理外观;
2)定义界面元素对不同事件的响应,实现界面与用户的交互功能.
(5)设计图形界面的一般原则
⏹保持风格的一致性
◆背景颜色耐看,避免黑、大红、艳绿、明黄
◆采用统一字体,颜色对比清晰、字号大小合理
◆布局统一,组件尺寸恰当、外观一致
⏹注重操作的友好性
◆必要的操作提示与信息反馈
◆考虑用户的普遍习惯
⏹选用适合主题的色调和风格,简洁明快,重在协调
◆多浏览国外著名公司的网站
◆参考大公司开发的专业产品
◆商业经典色系:蓝色、灰色、蓝白、蓝灰
⏹界面的边界一般设为不可调整大小,以免影响布局
6.1.2 图形用户界面元素
分三类:容器、控制组件、用户自定义成分。(1)容器(container)
是用来组织其他界面成分和元素的单元,如窗体(form、frame)。
主要作用: 用容器可以分解图形界面的复杂性。
特点:
容器有一定的范围、位置、背景,容器里可以包含许多其他的界面元素,并按一定规则来排列所包含的元素,可以被用来完成某种交互功能,容器还可能被包含在其他容器中。
(2)组件(Component )
组件是图形界面的最小单位,里面不能再包含其他成分。如:命令按钮、文本域、标签等。组件的作用是完成与用户的一次交互,如接受用户指令、向用户显示文本等。
使用组件的步骤:
创建组件对象→确定属性→布局到容器中→注册事件监听者→重写事件处理方法。
TextField input=new TextField(6);add(input);input.addActionListener(this);public void actionPerformed(ActionEvent e)
{if(e.getSource()==input)
output.setText(input.getText()+“,欢迎你!”);}
(3)用户自定义图形界面成分
用户自定义成分是指利用Java类库中的类及其方法来绘制符合用户特定要求的图形界面成分,也可以将已经存在的图形、动画等加载到当前程序中来。
1) 绘制图形
Graphics类——绘制直线、各种矩形、多边形、圆和椭圆等。
Point类——表示一个象素点
Dimension类——表示宽和高
Rectangle类——表示一个矩形
Polygon类——表示一个多边形
Color类——表示颜色
2) 显示文字
Java中用一个Font类的对象来表示一种字体显示效果,包括字体类型、字型和字号。
Font.PLAIN ——正常
字型常量Font.BOLD ——粗体
Font.ITALIC ——斜体
1) 创建字体对象
Font MyFont=new Font(“TimesRoman”,Font.BOLD,12);
2)使用字体对象
g.setFont(MyFont); //Graphics对象
btn.setFont(MyFont); //某个名为btn的按钮对象
可以用getFont()方法返回当前对象使用字体的情况。