java GUI图形化界面编程总结

2024-07-08

java GUI图形化界面编程总结(通用4篇)

篇1:java GUI图形化界面编程总结

GUI(Graphical User Interface)图形化界面编程总结 Java.Awt:Abstract Window ToolKit(抽象窗口工具包)Javax.Swing:

图形化界面基本设置:

设置窗体大小:setSize(长,宽);

设置窗体位置:setLocation(距离左,距离上);setBounds(长,宽,距离左,距离上);设置布局:setLayout(new FlowLayout()); 使窗体可见:setVisible(true); 事件监听机制:

事件监听机制的特点: 1,事件源。2,事件。3,监听器。4,事件处理。

事件源:就是awt包或者swing包中的那些图形界面组件。事件:每一个事件源都有自己特有的对应事件和共性事件。

监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。

以上三者,在java中都已经定义好了。直接获取其对象来用就可以了。

我们要做的事情是,就是对产生的动作进行处理

Eg:编写程序,练习图形化界面编程!import java.awt.*;import java.awt.event.*;import java.io.*;class MyWindowDemo { private Frame f;private TextField tf;private Button but;private TextArea ta;

private Dialog d;private Label lab;private Button okBut;

MyWindowDemo(){ init();} public void init(){ f = new Frame(“my window”);f.setBounds(300,100,600,500);f.setLayout(new FlowLayout());tf = new TextField(60);but = new Button(“转到”);ta = new TextArea(25,70);d = new Dialog(f,“提示信息-self”,true);d.setBounds(400,200,240,150);d.setLayout(new FlowLayout());lab = new Label();okBut = new Button(“确定”);d.add(lab);d.add(okBut);f.add(tf);f.add(but);f.add(ta);myEvent();f.setVisible(true);} private void myEvent(){

okBut.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){

d.setVisible(false);} });d.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){

d.setVisible(false);} });

tf.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){

if(e.getKeyCode()==KeyEvent.VK_ENTER)

showDir();} });

} but.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){

showDir();

} });f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){

System.exit(0);

} });private void showDir(){ String dirPath = tf.getText();

File dir = new File(dirPath);

if(dir.exists()&& dir.isDirectory()){ ta.setText(“");String[] names = dir.list();for(String name : names){

ta.append(name+”rn“);} } else

{

String info = ”您输入的信息:“+dirPath+”是错误的。请重输“;

lab.setText(info);

d.setVisible(true);

} }

public static void main(String[] args){

new MyWindowDemo();} }

菜单:

MenuBar 菜单整体;Menu 包含于MenuBar中;MenuItem包含于Menu中!以上3个关系添加用add();

将MenuBar放进Frame中用setMenuBar();

FileDialog.LOAD:打开的mode FileDialog.Save:保存的mode 练习:一个简易的记事本 /** 写一个关于记事本的小程序 @author田建 @version v1.1 */

import java.awt.*;import java.awt.event.*;import java.io.*;class MyMenuDemo { private Frame f;private TextArea ta;private MenuBar mb;private Menu me;private MenuItem miNew,miSave,miLoad;private File file;

private FileDialog openDia,saveDia;

MyMenuDemo(){

init();}

public void init(){

f=new Frame(”田建--记事本“);

f.setBounds(300,100,650,600);

ta=new TextArea();

//ta.setBounds(302,105,400,300);//f.setLayout(new FlowLayout());//为什么设置成了流式布局之后再设置文本区域没有效果

mb=new MenuBar();

me=new Menu(”文件(F)“);

miNew=new MenuItem(”新建“);

miSave=new MenuItem(”保存(S)“);

miLoad=new MenuItem(”打开(O)“);

mb.add(me);

me.add(miNew);

me.add(miLoad);

me.add(miSave);

f.setMenuBar(mb);

f.add(ta);

openDia=new FileDialog(f,”打开文件“,FileDialog.LOAD);

saveDia=new FileDialog(f,”保存文件“,FileDialog.SAVE);

myEvent();

f.setVisible(true);

}

public void myEvent(){

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

miLoad.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

openDia.setVisible(true);

String dirPath=openDia.getDirectory();

String fileName=openDia.getFile();

if(dirPath==null||fileName==null)

return;

ta.setText(”“);

file=new File(dirPath,fileName);

try

{

BufferedReader bufr=new BufferedReader(new FileReader(file));

String line=null;

while((line=bufr.readLine())!=null)

{

ta.append(line+”rn“);

}

bufr.close();

}

catch(IOException ex)

{

throw new RuntimeException(”读取失败“);

}

}

});

miSave.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(file==null)

{

saveDia.setVisible(true);

String dirPath=saveDia.getDirectory();

String fileName=saveDia.getFile();

if(dirPath==null||fileName==null)

return;

file=new File(dirPath,fileName);

}

try

{

BufferedWriter bufw=new BufferedWriter(new FileWriter(file));

String text=ta.getText();

bufw.write(text);

bufw.close();

}

catch(IOException ex)

{

throw new RuntimeException(”");

}

} });

} public static void main(String[] args){

new MyMenuDemo();}

} 打jar包的过程:

1、编译包 jar –cvf jar名 包名

2、写一个文件main-class: 包名.类名【加个回车】

3、jar –cvfm jar名 文件名 包名

配置jar执行的过程:

工具---文件夹选项---文件类型---新建---文件扩展名jar 然后确定----高级----修改图标-----open------javaw的路径—jar即可!

篇2:java GUI图形化界面编程总结

摘要 该文讨论了汉字图形窗口界面设计的一般方法,给出了窗口生成,窗口管理,菜单生成与管理,鼠标与键盘管理等实现的子函数,并给出了部分C语言源程序。这些函数的组合可以设计出丰富的.汉字图形窗口界面。

一、图形窗口设计函数

主要包括窗口生成与管理函数,如窗口生成,窗口打开,窗口关闭,窗口删除等。

1.窗口结构定义方法

typedef struct gwin {

int x0,y0,x1.y1; /*窗口位置及大小*/

int Border; /*窗口边框类型*/

int Wcolor; /*窗口背景颜色*/

char Wstate; /*窗口状态标志*/

char far *Buffer; /*指向窗口缓冲区指针*/

}GWIN;

在GWIN中,Border为窗口的边框属性,可以根据不同要求设计出多种边框类型业,以美化窗口界面。

2.窗口子函数

窗口生成子函数:Gwin * GwinCreate(x0,y0,x1,y1,border,colo

r)

int x0,y0,x1,y1; /*窗口位置及大小*/

BorderMode border; /*窗口边框类型*/

int color; /*窗口背景颜色*/

窗口显示子函数:GwinDisplay(GWIN *w)

w为用GwinCreate生成的窗口指针,即此函数画出窗口。

窗口打开子函数:GwinOpen(GWIN * w)

此函数调用GwinDisplay来显示窗口,并存储屏幕。

窗口关闭子函数:GwinClose(GWIN * w)

此函数关闭已打开的窗口,恢复屏幕,但此窗口数据还保存,可再次打开。

窗口删除子函数:GwinKill(GWIN * w)此窗口彻底清除窗口,不可重新打开。

3.部分程序

下面给出实现上述功能的C语言程序

/*Windows Create*/

#include

#include

#include

#include

#include

#include

#define CR 0x0d

#define Esc 0x1b

#define Left 0x4b

#define Right 0x4d

#define Up 0x4d

#define Down 0x50

#define OPEN 1 /*窗口为打开状态*/

#define CLOSE 0 /*窗口为关闭状态*/

#define MOUSE 0 /*是否有鼠标移动*/

/*定义窗口边框类型*/

typedef enum {

NoBorder,/*普通窗口,系统默认值*/

TBorder,/*窗口有凸边框类型*/

WBorder,/*窗口有凹边框类型*/

TWBorder,/*窗口有凸凹边框类型*/

WTBorder,/*窗口有凹凸边框类型*/

CBorder,/*窗口有汉字边框类型*/

... /*其它窗口类型*/

}BorderMode;

GWIN * GwinCreate(x0,y0,x1,y1,border,color)

int x0,y0,x1,y1;

BorderMode border;

int color;

{

GWIN *w;

w=malloc(sizeof(GWIN));

w->x0=x0;

w->y0=y0;

w->x1=x1;

w->y1=y1;

if(border==NoBorder)w->Border=NoBorder;

篇3:图形化编程语言LabVIEW

虚拟仪器技术就是利用高性能的模块化硬件, 结合高效灵活的软件来完成各种测试、测量和自动化应用。灵活高效的软件能创建完全自定义的用户界面, 模块化的硬件能方便地提供全方位的系统集成, 标准的软硬件平台能满足对同步和定时应用的需求。硬件是虚拟仪器的基础, 而软件是实现虚拟仪器的关键, 任何用户都可以通过修改软件的方法很方便地改变、增减仪器系统的功能和规模。虚拟仪器技术的出现开辟了用户自主设计仪器的新时代, 为各层次设计者提供了广阔的思维空间, 其优势体现在:性能高、扩展性强、开发时间少和无缝集成。传统仪器把所有软件和测量电路封装在一起, 利用仪器前面板为用户提供一组有限的功能。而虚拟仪器系统提供的则是完成测量或控制任务所需的所有软件和硬件设备, 功能完全由用户自定义, 可以使用高效且功能强大的软件来自定义采集、分析、存储、共享和显示功能。可以“实现一个应用, 不同的设备”或者“许多应用程序, 一个设备”。

所以虚拟仪器技术将有很大的发展空间, 值得进一步应用和推广, 其系统的组成如图所示, 虚拟仪器技术的组成部分包括:高效的软件、模块化的I/O硬件和用于集成的软硬件平台。

1. 虚拟仪器的硬件平台

虚拟仪器的硬件平台由计算机和I/O接口组成, 计算机是硬件平台的核心, I/O接口负责被测信号的采集、调整、放大和模/数转换。I/O接口硬件仪器根据不同的标准总线主要有以下五种:

(1) PC总线插卡。是基于计算机标准总线 (如IS (AIndustry Standard Architecture) Bus或PCI (Peripheral Component Interconnect) Bus等) 的内置功能插卡, 即PC-DAQ (Data Acquisition) 数据采集卡。插卡式仪器插入计算机主板上的空槽中即可, 价格低廉, 用途广泛。

(2) GPIB (General Purpose Interface Bus) 标准总线仪器。GPIB技术是IEEE488标准早期的发展阶段。GPIB测量系统的结构和命令简单, 适用于要求高精确度的场合, 但不适宜进行数据的高速传输。

(3) VXI (VEMBus Extension for Instrumentation) 标准总线仪器。VXI是高速计算机总线VME总线在VI领域的扩展, 它具有稳定的电源, 强有力的冷却能力和严格的电磁屏蔽功能, 是开放性仪器总线标准。然而, 组建VXI总线要求有机箱、零槽管理器及嵌入式控制器, 造价比较高。

(4) PXI (PCI Bus Extension for Instrumentation) 标准总线仪器。PXI是PCI在仪器领域的扩展, 是一种新的开放式的、模块化仪器总线标准。PXI仪器符合工业级的制造标准, 具有高级定时和触发功能, 更适应苛刻的工作环境。

(5) 远程总线数据接口 (RS-232、USB、IEEE1394、Ethernet等) 与前面几种总线相比, 接口简单, 使用方便。随着数字化的发展, 很多设备将信号模数转换后进行传输。这样可以保证数据的精度不丢失, 且不易受干扰。

2. 虚拟仪器的软件平台

虚拟仪器软件包括I/O接口设备驱动程序和应用软件。I/O接口设备驱动程序实现对DAQ、GPIB、VXI、PXI、RS232等硬件仪器的控制。VISA (Virtual Instrument Software Architecture, 虚拟仪器软件体系结构) 是I/O接口软件库及其规范的总称, 通过调用底层驱动程序控制仪器。目前已有多种设计虚拟仪器的软件开发工具, 比较常用的有:

(1) 文本式编程语言:如基于传统语言的C、Visual C++、Visual Basic、Lab Windows/CVI等。采用大家比较熟悉的语言, 拥有众多函数和类库, 适应面广, 开发灵活多变, 可以自己开发驱动程序。往往用来开发大型的、功能复杂的仪器软件, 但开发人员需要有较多的编程经验和较强的调试能力。

(2) 图形化编程语言:如NI-Lab VIEW、HP-VEE等。拥有逼真的仪器面板元件, 图形化的常用模块, 智能化的数据连线, 简便易用、丰富多彩的函数库和工具包。软件通过建立和连接图标来编写虚拟仪器程序并定义其功能, 具有编程效率高, 通用性强的特点。图形化软件编程工具为用户设计虚拟仪器提供了最大限度的方便与良好的开发环境。

二、Lab VIEW简介

1. Lab VIEW的基本概念

Lab VIEW是美国NI公司创立的虚拟仪器领域中最具代表性的图形化编程开发平台, 与Visual C++、VisualBasic、Lab Windows/CVI等文本编程语言不同, Lab VIEW用图标、连线和框图代替传统的程序代码, 是一种图形化的编程语言 (G语言) , 主要应用于仪器控制、数据采集、数据分析、数据显示等领域, 并适用于多种不同的操作系统平台。Lab VIEW作为G语言的典型代表, 是目前国际上唯一的编译型图形化编程语言, 在功能完整和应用灵活性上不逊于任何其他高级语言, 是带有可扩展函数库和子程序库的通用程序设计系统。

Lab VIEW提供用于PCI、GPIB、VXI、PXI、RS232/485、USB等各种仪器通信总线标准的所有功能函数, 以及数据分析、显示和存储的应用程序模块;32位的编译器生成32位的编译程序, 保证用户数据采集、测试测量方案的高速执行;提供包括DLL (Dynamic Link Library, 动态链接库) 、DDE (Dynamic Data Exchange, 动态数据交换) 、Active X在内的大量与外部代码或软件进行连接的机制, 提供CIN (Code Interface Node, 代码接口节点) 使得用户可以使用由C或C++语言编译的程序模块, 使得Lab VIEW成为一个开放的开发平台;具有强大的网络功能, 支持Data Socket协议、TCP/UDP协议和网络发布等。此外, Lab VIEW还提供常用的程序调试工具, 具有断点设置、单步调试、数据探针和动态显示执行流程等功能, 使用户能够非常清楚的观察数据传递过程中的细节, 使程序的调试和开发更为便捷。

Lab VIEW的运行机制就宏观上讲已经不再是传统上的冯·诺伊曼计算机体系结构的执行方式了。传统的计算机语言 (如C语言) 中的顺序执行结构在Lab VIEW中被并行机制所代替。从本质上讲, 它是一种带有图形控制流结构的数据流模式, 这种方式确保了程序中的函数节点只有在获得它的全部数据后才能够被执行。这样, Lab VIEW中被连接的方框图之间的数据流控制着程序的执行次序, 而不像文本程序受到行顺序执行的约束。因此, 可以通过相互连接的方框图快速简洁的开发应用程序, 甚至还可以有多个数据通道同步运行。

2. VI的组成

在Lab VIEW环境下开发的应用程序称为VI (Virtual Instrument) 。VI由人机交互界面——前面板 (Front Panel) 和相当于源代码功能的框图程序——后面板 (Diagram) 组成。前面板是程序的界面, 在这一界面上有控制量 (Controls) 和显示量 (Indicators) 两类对象。在前面板中, 控制量模拟仪器的输入装置并把数据提供给VI的框图程序, 例如开关、旋钮;而显示量则模拟仪器的输出装置并显示由框图程序获得或产生的数据, 例如波形显示窗口等。后面板又称代码窗口或框图程序, 在后面板中对VI编程, 以控制和操纵定义在前面板上的输入和输出等功能。后面板中包括前面板上对象的连线端子, 还有一些前面板上没有但编程必需的对象, 如函数、结构和连线等。

三、Lab VIEW的软件开发流程和设计步骤

1. Lab VIEW的软件开发流程

在Lab VIEW平台上开发软件, 既要遵循软件工程学的普遍规律和基本方法, 又要考虑到图形化编程语言的特点。软件工程学中用各种生命周期模型描述软件开发的各个阶段, 不同的软件生命周期模型各有其优缺点。根据最经典的瀑布模型, Lab VIEW平台上软件开发主要有六个阶段:一是系统需求分析阶段。在数据采集、分析、显示、存储、传输等方面明确用户需求, 考虑方案的可行性和成本;二是结构设计阶段。Lab VIEW符合模块化的程序设计思想, 采用由顶向下的方法, 把复杂的系统需求逐步分解为一系列简单的子任务, 为每一个子任务创建相应的VI, 有些子任务可能需要进一步划分, 从而形成逐层调用的树形软件层次结构, 例如本文开发的传感器信号测试平台的树形VI结构;三是细节设计阶段。按照软件的结构确定每个模块的输入输出以及完成的功能;四是编写代码阶段。先由底层VI开始编写图形代码, 再逐步向上集成, 直到顶层程序;五是

程序测试阶段。由于每个子VI都可以单独执行, 使得程序调试非常方便。每完成一个模块就测试一个, 输入预期的参数, 观察输出结果。发现问题及时修改, 最后进行总体测试;六是软件维护阶段。软件维护是为了使软件能够持久的满足用户的需求。软件维护分为改进性维护、适应性维护、完善性维护和预防性维护。

2. Lab VIEW设计VI的步骤

(1) 在前面板上放置控件。用工具模板中相应的工具从控制模板中取用所需的相关控件, 排列到前面板中合适的位置, 打开控件的属性设置窗口进行参数设置, 并加上各种文字说明或标签, 还可以加上一些装饰用的控件。

(2) 在后面板上放置节点、框图。用工具模板中相应的工具从函数模板中取用相关控件, 排列到后面板中合适的位置, 这些控件就是后面板中的节点或框图。一般情况下, 前面板中创建的控件会自动在后面板创建相应的端口。

(3) 在后面板上连线形成数据流。使用连线工具按数据流的方向将端口、节点、框图依次相连, 构成对象之间的数据通道, 其中不同的线型代表不同的数据类型。

(4) 运行检验。利用仿真或实测的方式进行VI功能检验。

(5) 程序调试。一是找出语法错误。如果存在语法错误, 则当启动快捷键工具栏的“运行”按钮时, 该按钮变成一个折断的箭头, 程序不能被执行。单击该按钮, 弹出错误清单窗口, 窗口中列出错误项, 双击其中任何一项, 出错的对象或端口就会自动变成高亮形式。二是慢速跟踪程序的运行。单击快捷工具栏中的“高亮执行”按钮, 该图标变成高亮形式, 再单击“运行”按钮, 程序就以较慢的速度运行。没有被执行的代码灰色显示, 执行后的代码高亮显示, 并显示数据流上的数据值。这样, 就可以根据数据流动状态, 跟踪程序的执行。三是断点与单步执行。使用断点工具可以在程序的某处终止程序执行, 用探针或单步执行方式查看数据, 来查找程序中的错误。四是设置探针。通过设置探针来查看框图程序流经某一根连接线的数据值。五是数据观察。在查找错误时, 单击“高亮执行”, 观察数据流中各个节点的数值。六是命名存盘。命名并保存设计好的VI。

四、小结

本文解释了虚拟仪器的基本概念, 介绍了虚拟仪器的体系结构, 比较了虚拟仪器与传统仪器的差别, 说明虚拟仪器技术将有很大的发展空间, 值得进一步应用和推广, 描述了虚拟仪器软件Lab VIEW的特性及其程序开发方法。基于虚拟仪器的图形化编程语言Lab VIEW, 以及利用Lab VIEW开发VI的流程和设计步骤。

摘要:虚拟仪器技术的出现, 开辟了用户自主设计仪器的新时代, 为各层次设计者提供了广阔的思维空间, 其优势体现在:性能高、扩展性强、开发时间少和无缝集成。在LabVIEW平台上开发软件, 既要遵循软件工程学的普遍规律和基本方法, 又要考虑到图形化编程语言的特点。根据最经典的瀑布模型, LabVIEW平台上软件开发主要有:系统需求分析阶段、结构设计阶段、细节设计阶段、编写代码阶段、程序测试阶段、软件维护阶段。

关键词:公共利益,地方政府,征地制度

参考文献

[1]莫慧芳.基于LabVIEW的小波神经网络在电机声频故障诊断中的应用研究[C].广东工业大学工学硕士学位论文, 2005, (5) :2-6.

[2]高波, 周大威, 王炎.焊缝自动跟踪系统的发展综述[J].黑龙江自动化技术与应用, 1995, (4) :1-4.

篇4:java GUI图形化界面编程总结

关键词:图标 用户 图形化用户界面

中图分类号:TB47

文献标识码:A

文章编号:1003-0069(2015)09-0140-02

近年来,随着互联网和电子科技的飞速发展,用户浏览网页逐渐从固定的"hA电脑转向便携的移动设备,图标的显示设备也越来越小屏幕化,这就要求图形符号必须简洁、直观、一致、可读性强、具有美感,界面中的图标设计也随之发生了“质”的变化,即由早期的线型单色特征向趋于写实的拟物化风格转变,随后逐渐转向日益盛行的扁平化风格。

从2007年,乔布斯发布最早的iphoneOS1.0操作系统时界面的拟物化,到2013年后微软Metro风格的扁平化的风靡,界面图标设计也有了一个巨大的革新。

一 线型单色特征国标

线型单色特征图标,是指二十世纪八九十年代时期,受技术、设计观念等因素的影响,图形多为简单的几何造型且色彩仅限于单色或者较少颜色的图标。早期的图标设计主要在于对文字内容的解读上,当然这也是在图形化用户界面设计中最重要的因素,而在图标的美观性、界面风格的一致性、对用户的吸引性上都比较欠缺。例如windows95版的操作系统中,界面风格就是简单的几何造型加上少量色彩搭配。(图1)

二 拟物化风格图标

2.1拟物化风格图标兴起的原因

随着科技进步和计算机的普及,硬件和网络日益发达,CPU和存储介质的效率和容量大大提升,色彩得到了充分的解放和发挥,伴随着人们审美水平的不断提高,线型单色特征图标已经无法满足广大用户。为了用户更好的实现交互体验,拟物化风格开始出现。

2.2拟物化风格图标的特征及其优缺点

拟物化风格,就是通过叠加材质、纹理、高光、阴影等效果对现实物品的造型和质感进行模拟,使得图标从外形到交互方式上都和现实生活中类似。最具代表性的事件是乔布斯在2007年发布最早的iphoneOS1.0操作系统时的界面设计,乔布斯首次展示了该操作系统下界面中丰富的视觉效果,如相机图标和现实生活中相机镜头完全相像,这样沿用人们生活中的认知习惯进行设计,使用户在体验上一眼便知其功能,而其精细的质感打造,相比线型单色特征图标更加生动形象,受到了人们的青睐和追捧。(图2)正如《IOS Human Interface Guidelines》里所提到:“当你应用中的可视化对象和操作按照现实世界中的对象与操作仿造,用户就能快速领会如何使用它。”21世纪后,拟物化风格盛行。

在信息爆炸的时代,能否快速吸引用户的眼球,变成图形用户界面设计师在进行创作时的关键因素,拟物化因其细腻、精致、漂亮、形象的优势也深受众多设计师和广大用户群体的喜爱。拟物化最大的特点是将现实生活中的物品和使用习惯带入界面设计中,用户识别度高,学习成本低,这也是它的最大优点。但拟物化也有很大弊端,比如功能化在大多数拟物化界面中并没有很好地得以实现、图标所占存储空间相对较大而影响页面加载速度、设计师将大量时间和精力放在了图标质感的打造上而容易忽略图标的一致性等问题。但也有些对拟物化风格的模拟,容易忽视用户体验和交互方式,造成滥用装饰效果,比如在界面上加入了皮革、缝线、木纹、阴影、金属抛光等效果,虽使界面看上去精致细腻,但是难以在真实生活中找到对应物,界面的设计就会给人以唐突的感觉。(图3)

三 扁平化风格图标

3.1扁平化风格图标兴起的原因

与拟物化风格图标的不同,它的兴起有两点原因:一是由于科技的发展、移动端的风行,带动了市面上多设备生态的普及,不同型号的手机、平板、电脑等屏幕的尺寸各不相同,拟物化风格基于它丰富的样式表现,大多数为位图,要适应不同设备着实困难,需要设计师根据设备的不同做多套尺寸不同、内容相同的图标,这无形中增加了人力物力成本,而扁平化的出现,由于其是矢量图形的绘制,无论放大缩小都不会失真,这大大解决了设备适配的难题;二是由于在当下信息过剩的时代,人们生活节奏加快,每天被众多纷繁复杂的信息所包围,如何在有限的时间里,快速、直观、醒目的向用户展示所需信息,成为众多图形用户界面设计师思考的重点,主动的信息植入而不是被动地让用户来识别成为众多图形用户界面设计师思考的重点。就像建筑大师密斯为了反对一切审美方面的虚夸、教条和形式主义所提出的“少就是多”的观点一样,物极必反,当一种风格极尽流行时,人们就越发渴望打破传统,创造不同的风格来使用户眼前一亮。在此形势下,图形符号日趋简洁并注重寓意的表达给用户带来了一种崭新的体验,随之扁平化风格应运而生。

3.2扁平化风格图标的特征及其优缺点

扁平化风格指的是摒弃各种渐变、高光、阴影等造成立体感的效果,运用平面化的色彩和抽象、简化的图形,搭配突出的文字信息进行的图标设计。早期具有代表性的事件是微软在Windows Phone 7中引入的Metro界面设计,简洁的图形、明亮的色彩搭配网格分割,给用户一种清爽、清新、明朗的体验,为以后扁平化风格创作做出了重大启示。(图4)而将扁平化的风格推向顶峰并迅速普及的是苹果的于2013年发布的IOS7操作系统。(图5)

由于扁平化风格更加注重国标在美观之外的功能性意义,对色彩种类的运用相对较少,所占存储空间比较小,因而相比拟物化风格,它在有限的时间中加载速度更快;更容易突出主题,减少对用户的视觉干扰和记忆负担;便于识别,扁平化的图标设计更加简洁加上醒目的色彩,即使在较远的距离,也能够清楚地被用户识别;设计也相对容易,无需考虑高光、阴影、渐变等多余的装饰,只需注意图形的直观性、界面网格布局,色彩的运用等方面,使图标保持易用性、一致性。但扁平化风格也会造成相应学习成本的增加、且传达感情不够形象等弊端。

nlc202309010233

四 图标未来的发展趋势

4.1多元化共存的时代

拟物化和扁平化都有其独特的优势和特点,设计师会针对不同的应用场景、不同的用户群体、不同的设备等因素来选择更加适合的风格,不能说哪一种风格终将被另一种风格取代而消亡。未来图标的发展趋势,势必更加趋于向多元化风格发展。

不同的产品特性决定着不同的图形气质与风格。例如在游戏场景中,由于用户多为年轻群体,他们渴望在虚拟世界中获取真实的体验、释放压力,所以不难发现众多大型游戏的界面多炫酷、仿真、具有科幻性,意在呈现给用户好莱坞大片般的身临其境的感受,引发用户内心的情感共鸣,因而在进行图形化用户界面图标的设计时,常常用拟物化风格的手法来表现图标的质感、光影,比如游戏按钮的设计。而相对于58同城、ZAKER等信息类网站的设计,就更加倾向于扁平化风格,设计更关注信息和内容本身而不再强调过多的装饰,目的在于更清晰、明确的传达功能信息,方便用户快速查找和获取有效信息,减少视觉感知的复杂性,从而减轻视觉疲劳。(图6)

五 图形化用户界面图标的课题应用

随着对用户界面图标的不断探索,在进行客户端课题的设计中,应用以上理论研究,客户端界面主要在于功能的易用上,因而图标的作用为衬托界面功能,辅助用户更好地完成交互,其设计更适合扁平化风格,表现形式必须一致,以最简洁的方式有效地展示页面信息,将信息分层级展现,次要信息通过折叠、弹出窗口等形式隐藏,当用户点击时反馈给用户所需信息,以此呈现给用户更大的操作界面。(图7)

总结

优秀的用户界面必定是建立在用户需求及特定应用领域和操作环境的基础上进行的设计,具备良好地交互流程,使得界面好用、易用,这就需要在进行图形化用户界面图标的设计时,不能单纯为了展示某种风格而抛弃了产品本身,无论是拟物化风格还是扁平化风格,都应符合应用场景、设备、网络等众多因素,突出界面图标的可识别性、一致性;在色彩的运用上,应尽量做到情感化;在交互方式上,做到不要让用户去想,而要主动的引导用户操作,顺应用户的操作习惯,比如切换方式,这样才能增加用户的可信度和支持度。

好的图形化用户界面图标设计不仅能充分体现产品的特点和定位,让产品变得有个性有品味,还能带给用户简单、自由、舒适的交互体验,获得更多用户的喜爱,从而增加可观的流量和广泛的用户群体。

上一篇:第一次钓鱼400字作文下一篇:数学教师国培研修总结