通用图形用户接口的设计_Java语言在跨平台应用中的一个实例
通用图形用户接口的设计
——语言在跨平台应用中的一个实例J ava
唐 井 雄
() 江西省计算中心 南昌 330002
() 【摘 要】通过论述运用 语言提供的抽象窗口工具库 及最新增补的 J ava AW T
组件集, 并结合 1. 1事件处理模型及实现方法, 来构建一个美观通用的 Sw in g AW T
() 图形用户接口 的过程, 提供了 语言在跨平台应用中的一个实例。GU IJ ava
【关键词】 抽象窗口工具库1. 图形用户组件集 1事件处理模型 Sw in g AW T
接口 外观管理与控制器 容器
【分类号】 312T P
是一种目前广泛使用的网络编程语言, 由于它具有良好的面向对象、分布式、移植 J ava
性、安全性、结构中立性、高性能、多线程及动态性等优点, 同时, 它提供了十分丰富的类库, 我 们可以通过“继承”和“引用”这些类库中的内容, 快速编制出易于维护的各种应用程序。本文通
() 过论述运用 语言提供的抽象窗口工具库 及最新增补的 组件集, 并结合 1.J ava AW T Sw in g
() 1事件处理模型来构建一个美观通用的图形用户接口 的过程, 与大家一同交流。 AW T GU I
在程序编制过程中, 我们可能会与各种不同的窗口系统打交道, 在 语言出现之前, 由J ava
于各种窗口系统之间存在一定差异, 所以, 我们在某一窗口系统中编制的程序, 在另一窗口系统中执行时可能会出现运行不畅, 甚至无法运行的结果。而现在我们使用 语言, 只需一次 J ava 编写而成的图形用户接口, 可以不经任何修改地运行在各种不同的窗口系统中, 而且还能保持
其在不同窗口系统中具有的不同风格。
以下我们通过一个实例, 用 语言来实现一个通用的图形用户接口。J ava
首先, 我们来定义一下要实现的图形用户接口: 它是一个窗口对象, 其中含有供用户输入 主题文字或数据的“文字栏”, 上面需标注简短的提示信息, 接下来是一组供用户输入分类文字
或数据的“文字栏”, 其上同样需标注简短的提示信息, 中间是供用户输入多行文字或数据的
定义了要实现的图形用户“文字区域”, 最后, 再设置“确认”和“取消”两个“按钮”以控制全局。
() 接口之后, 我们便可分步产生各个组件 , 选定COM PON EN T
() ( 好合适的外观管理与控制器 L A YOU T , 再将产生的组件分别放入同一个容器 CON TA IN 2
() ) 中。经过选择, 我们确定继承 库的“面板”类 来产生一个新类 以它作, ER SW IN G Jp an e lP an
1998- 11- 15 收稿
? 1994-2013 China Academic Journal Electronic Publishing House. All rights reserved.
()为各组件的容器, 外观采用边界外观管理与控制器 Bo rde rL ayo u t
现监听器接口 以处理来自“文字栏”及“按钮”触发的 , A c t io nL isten e r
() 中产生窗口框架类 的一个实例, 以示整个图形用户接口轮 J f ram e
;p ack age exam p le
. . ;im po r t javaaw tIn se t s
. . ;im po r t javaaw tG r idL ayo u t
. . ;im po r t javaaw tBo rde rL ayo u t
. . . ;im po r t javaaw teven tA c t io nE ven t
. . . ;im po r t javaaw teven tA c t io nL istene r
. . . . ; im po r t comsunjavasw ingJ P ane l
. . . . ; im po r t comsunjavasw ingJL abe l
. . . . ; im po r t comsunjavasw ingJ F ram e
. . . . ;im po r t comsunjavasw ingJB u t to n
. . . . ; im po r t comsunjavasw ingJ T ex tF ie ld
. . . . ; im po r t comsunjavasw ingJ Sep a ra to r
. . . . ;im po r t comsunjavasw ingJ T ex tA rea p ub lic c la ss P an ex tend s J P ane l im p lem en t s A c t io nL istene r
{
) ( p ub lic sta t ic vo id m a in S t r ing a rgv{
t ry
{
() = " 通用窗口" ; J F ram e f new J F ram e
()(() ) . . ;fge tCo n ten tP ane add new P an
() . 530, 380;fse tS ize
( ) . ;fse tV isib le t rue
}
()ca tch E xcep t io n e
{
() . 0;Sy stemex it
}
}
;p ub lic J T ex tF ie ld o b jec tF ie ld
;p ub lic J T ex tF ie ld typ eF ie ld
; p ub lic J T ex tF ie ld ow ne rF ie ld
; p ub lic J T ex tF ie ld g ro up F ie ld
;p ub lic J T ex tF ie ld listF ie ld
;p ub lic JB u t to n o kB u t to n
;p ub lic JB u t to n cance lB u t to n
()p ub lic P an
{
?产生主容器, 设置外观管理与控制器为边界外观管理与控制器.
(() ) 5, 8; se tL ayo u t new Bo rde rL ayo u t
= ;J P ane l m a in th is
?产生第一部分容器及设置外观管理与控制器.
(() ) 1= 0, 5;J P ane l p a r tnew J P ane l new Bo rde rL ayo u t
?产生第一部分中第一小块的主题“文字栏”, 并注册监听器, 同时生
提示信息, 将两者放入设置为格栅外观管理与控制器的容器中, 再将
? 1994-2013 China Academic Journal Electronic Publishing House. All rig
北面位置.
(() ) 1= 2, 1; J P ane l bo xnew J P ane l new G r idL ayo u t
() = " 主题文字" , . ; JL abe l anew JL abe l JL abe lL E F T
() = " " ;o b jec tF ie ldnew J T ex tF ie ld
( ) . ;o b jec tF ie ldaddA c t io nL istene r th is () 1. ;bo x add a
() 1. ;bo x add o b jec tF ie ld
() 1. 1, . ;p a r tadd bo x Bo rde rL ayo u tN O R T H
?设置第一部分中第二小块由格栅外观管理与控制器管理, 产生第一部分中第二小块的各分
类“文字栏”, 并注册监听器, 同时生成置于其上且向左对齐的提示信息, 然后将对应的两者组
合后, 分别放入设置为格栅外观管理与控制器的容器中, 再将四块合并置于第一部分容器的中
间位置.
(() ) 2= 1, 4, 8, 0; J P ane l bo xnew J P ane l new G r idL ayo u t
(() ) 1= 2, 1;J P ane l co lnew J P ane l new G r idL ayo u t
(() ) 2= 2, 1; J P ane l co lnew J P ane l new G r idL ayo u t
(() ) 3= 2, 1; J P ane l co lnew J P ane l new G r idL ayo u t
(() ) 4= 2, 1; J P ane l co lnew J P ane l new G r idL ayo u t
() 1= " 类型" ;JL abe l b new JL abe l
() = " " , 10; typ eF ie ldnew J T ex tF ie ld
( ) . ; typ eF ie ldaddA c t io nL istene r th is
() 1. 1;co ladd b
( ) 1. ; co ladd typ eF ie ld
() 2. 1;bo x add co l
() JL abe l b 2= new JL abe l " 用户" ;
() = " " , 10; ow ne rF ie ldnew J T ex tF ie ld
( ) . ; ow ne rF ie ldaddA c t io nL istene r th is
() 2. 2;co ladd b
() 2. ;co ladd ow ne rF ie ld
() 2. 2;bo x add co l
() 3= JL abe l b new JL abe l " 组别" ;
() = " " , 10; g ro up F ie ldnew J T ex tF ie ld
( ) . ; g ro up F ie ldaddA c t io nL istene r th is
() 3. 3;co ladd b
() 3. ;co ladd g ro up F ie ld
() 2. 3;bo x add co l
() 4= " 其它" ; JL abe l b new JL abe l
() = " " , 10; listF ie ldnew J T ex tF ie ld
( ) . ;listF ie ldaddA c t io nL istene r th is
() 4. 4;co ladd b
( ) 4. ;co ladd listF ie ld
() 2. 4;bo x add co l
() 1. 2, . ;p a r tadd bo x Bo rde rL ayo u tC EN T ER
?设置第一部分中第三小块由格栅外观管理与控制器管理, 产生几个空行及行分隔符, 并将其
合并置于第一部分容器的南面位置。
(() ) 3= 4, 1;J P ane l bo xnew J P ane l new G r idL ayo u t (() ) 3. ;bo x add new JL abe l
(() ) 3. ;bo x add new JL abe l
(() ) 3. ;bo x add new J Sep a ra to r
? 1994-2013 China Academic Journal Electronic Publishing House. All rights reserved.
(() ) 3. ; bo x add new JL abe l
() 1. 3, . ;p a r tadd bo x Bo rde rL ayo u tSOU T H
?第二部分只要实现一个独立的“文字区域”及设置其大小即可.
() 2= 10, 20;J T ex tA rea p a r tnew J T ex tA rea
?产生第三部分容器及设置外观管理与控制器.
(() ) 3= 0, 10;J P ane l p a r tnew J P ane l new Bo rde rL ayo u t
?设置第三部分中第一小块由格栅外观管理与控制器管理, 产生几
三部分容器的北面位置.
(() ) 1= 1, 3, 5, 0;J P ane l lin new J P ane l new G r idL ayo u t (() ) 1. ; lin add new JL abe l
(() ) 1. ; lin add new JL abe l
(() ) 1. ;lin add new JL abe l
( ) 3. 1, . ;p a r tadd lin Bo rde rL ayo u tN O R T H
?产生一个行分隔符, 并将置于第三部分容器的中间位置.
(() ) 3. , . ;p a r tadd new J Sep a ra to r Bo rde rL ayo u tC EN T ER
?设置第三部分中第三小块由格栅外观管理与控制器管理, 产生几
两个“按钮”, 并注册监听器, 然后将其合并置于第三部分容器的南面
(() ) 3= 1, 5, 5, 0; J P ane l lin new J P ane l new G r idL ayo u t
(() ) 3. ; lin add new JL abe l
(() ) 3. ; lin add new JL abe l
(() ) 3. ;lin add new JL abe l
() = " 确认" ; o kB u t to nnew JB u t to n
() = " 取消" ; cance lB u t to nnew JB u t to n o
( ) . ; kB u t to naddA c t io nL istene r th is
( ) . ; cance lB u t to naddA c t io nL istene r th is
() 3. ;lin add o kB u t to n
() 3. ;lin add cance lB u t to n
( ) 3. 3, . ;p a r tadd lin Bo rde rL ayo u tSOU T H
?将第一部分置于主容器的北面位置, 将第二部分置于主容器的中
容器的南面位置.
() . 1, . ;m a inadd p a r tBo rde rL ayo u tN O R T H
() . 3, . ;m a inadd p a r tBo rde rL ayo u tSOU T H
() . 2, . ;m a inadd p a r tBo rde rL ayo u tC EN T ER
}
?设置主容器周边的空白.
()p ub lic In se t s ge t In se t s
{
() 2, 8, 19, 8;re tu rn new In se t s
}
?由于实现了监听器接口 我们应重写对由“文字栏 , A c t io nL isten e r
( ) 行处理的方法 该方法为将要产生的图形用户接 , ac t io n P e rfo rm ed
桥梁, 通过该方法得以体现图形用户接口对外部信息作出的反应,
性的有力说明.
()p ub lic vo id ac t io nP e rfo rm ed A c t io nE ven t even t
{
(()(). . if even tge tSo u rce equa ls o b jec tF ie ld
? 1994-2013 China Academic Journal Electronic Publishing House. All rig
{ }
(()( ). . if even tge tSo u rce equa ls typ eF ie ld
{ }
(()(). . if even tge tSo u rce equa ls ow ne rF ie ld
{ }
(()(). . if even tge tSo u rce equa ls g ro up F ie ld
{ }
(()( ). . if even tge tSo u rce equa ls listF ie ld
{ }
(()(). . if even tge tSo u rce equa ls o b jec tF ie ld
{ }
(()(). . if even tge tSo u rce equa ls o kB u t to n
{ }
(()(). . if even tge tSo u rce equa ls cance lB u t to n
{ }
}
}
以上, 我们运用 语言生成了通用的图形用户接口, 并通过重写事件处理的方法, 将已 J ava
产生的图形用户接口与所需的应用程序联系了起来, 由于本文强调通用性, 故采用的是
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
监
听器接口 我们还可以针对特殊需求产生特定的事件源和监听器接口, 此非本, A c t io nL isten e r
文重点, 在此不再详述, 同时也略去了具体的事件处理方法。
()()的其他 组件, 诸如“选择菜单”类 、“滚动条”类 、“列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
框” J ava AW T C ho iceSc ro llb a r() () 类 等都可以嵌入图形用户接口 中, 产生功能更强的通用图形用户接口。 L istGU I
参 考 文 献
1 著. 从入门到精通. 邱仲潘译. 北京: 电子工业出版社, 1998, 1 L au rence V anh e lsuw e J avaB ean s
2 著. 从入门到精通 1 邱仲潘, 等译. 程金环校. 北京: 电子工业出版社, 1997, 2 L au rence V anh e lsuw e J ava
() 上接第 6 页
14 , , . - . ,C h en H uaZh ang Yao xueand C h en KangfuA n O ve rv iew o f T H Q o S P ro jec tH igh T ech L e t te r s
() 1997 2: 27- 31
() 15 , , . - - C h en H uaZh ang Yao xueand C h en KangfuM u lt im ed ia Q ua lityo f Se rv ice Q o SC la ssif ica t io n and
() . , 1998 1: 44- 48N ego t ia t io n M anage rC h ine se Jo u rna l o f E lec t ro n ic s
, 16 见: - 96, 哈尔滨, 1996 C IM SC h ina顾冠群, 潘建平. 适合事务处理的高速计算机网络传输模型.
( ) 17 王兴伟, 张应辉, 刘积仁, 李华天. 分布式多媒体系统服务质量管理机制研究. 软件学报, 1998 2: 86-
90
? 1994-2013 China Academic Journal Electronic Publishing House. All rights reserved.