图形用户界面(GUI)设计与开发,不仅符合用户行为习惯,也能增进用户体验满意度。Java为图形编程提供了丰富的类和接口,而这些类和接口放在java.awt和javax.swing两大包里。本文主要探讨Java图像编程的基本概念和重要思想。
1 基本概念
组件:集成了一定的功能模块,提供了公用的接口以便外部调用,具有良好的可重用性。
容器:一种特殊的组件,可以用来放置其它组件,并且通过布局管理器管理容器中各组件的位置。Java中常见的容器包括Frame/JFrame,Panel/JPanel,Dialog/JDialog等。
AWT提供了两个主要的容器类,分别是Window类和Panel类,前者是可独立存在的顶级窗口,而后者作为容器容纳其它组件,但不能独立存在,必须被添加到其它容器。
2 重要思想
布局管理器
布局管理器就是用来管理容器中各组件的安放位置。在java.awt包中提供了FlowLayout、BorderLayout、GridLayout、GridBagLayout和CardLayout五种布局管理器,在java.swing中又增加了BoxLayout布局管理器,这些类都实现了LayoutManager接口。
FlowLayout是一种最简单的布局管理器,其主要思想是让容器内的组件按照行优先的方式排列,一行排列到边界后就折回到下一行继续排列,以此类推。Panel默认使用FlowLayout布局管理器。
BorderLayout是Frame和JFrame默认的布局管理器,把窗口划分为NORTH、SOUTH、EAST、WEST和CENTER五个区域,并且根据窗体的大小自动调整组件的大小。
GridLayout布局管理器将空间划分成规则的矩形网格,每个单元格区域大小相等。组件被添加到每个单元格中,先从左到右填满一行后换行,再从上到下。
类比Android:Android有五大布局,分别是LinearLayout线性布局、TableLayout表格布局、FrameLayout框架布局、RelativeLayout相对布局和AbsoluteLayout绝对布局。
事件驱动机制
所谓事件,就是发生在用户界面上的用户交互行为而产生的一种效果。每发生一个事件,程序都要作出相应的响应,这称为事件处理。事件处理过程涉及到3个对象,分别是事件源、事件和监听器。事件源,产生事件的组件,一般来说指的是某一个组件或者容器等;事件,它封装了组件上发生的特定事件(动作),一般指的是用户对某个组件所进行的操作,使用事件对象可以获得;监听器,负责监视指定组件所发生的特定事件,并对相应事件做出响应处理。
设计与开发GUI的方法
第一步,继承JFrame和实现相关接口,例如ActionListener。
第二步,根据用户界面要求设计布局格式,确定相应组件。
第三步,把各个组件合理安放。
第四步,根据人机交互要求,设置 事件处理机制。
总之,在设计与开发GUI的时候,一定要考虑用户的需求和体验,尽量简单化、人性化、美观化。因而,很多时候需要自定义控件和自定义布局管理器。
总结
1)Java图像编程,又可以理解为视窗编程。因而关键是选择和组织各种组件,并且使其能够与人友好地交互。要达到这个目的,就需要掌握和使用布局管理器、组件和容器、事件处理机制等知识。
2)Java图像编程,虽然较为耗资源,但是也是一种较好地人机交互表现方式。有时候,设计客户端软件的时候,根据业务需求与要求可以考虑Java的GUI设计与开发,以合理而有效地求解。