图形用户界面概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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()方法返回当前对象使用字体的情况。

相关文档
最新文档