探讨Java之桌面应用的可行性(二)
2006-12-07 00:19
218 查看
前面一节只是对Java的界面作了一个概述,同时结合图片给了大家一个直观的映象。在这一节,我将比较细致地说说Java的界面编程,并希望通过这样的阐述让大家了解Java的界面编程,从而为证明Java桌面应用的可行提供一个重要的依据。使用的IDE仍然是前面提及的Eclipse。
我将界面编程分为两种,第一种是设计型,第二种是素面型。
先说设计型,也是目前大家比较想实现的界面编程类型。所谓设计型,就是我们的软件界面已经重新设计,并非是系统的原始界面。
这一类型,基本上是UI设计人员和程序人员通力合作完成的。当然世事总是不如愿,很多时候并没有配备专门的UI设计人员,所以只好亲自操刀。我的做法是把整体的界面在PS里做出来,然后再进行切割,虽然最后完成的时候和初图有较大出入——这也是程序员经常和UI设计人员有矛盾的原因——UI设计得很好未必符合程序的设计。
这里先介绍一个名词:“九宫图”,就是把一个对象分成左上(1)、中上(2)、右上(3)、左中(4)、中中(5)、右中(6)、左下(7)、中下(8)、右下(9) 九个部分。如下图所示:
大家是否发现这个九宫图和我们在使用Eclipse新建Swing窗体时的布局是差不多的?下图是Java的BorderLayout布局。
介绍九宫图并与Java的布局作比较的意义就在于,通过比较我们可以明白,当我们PS了一张界面后,需要按照九宫图来进行切割,这样才便于我们设计一个可伸缩变化的界面。虽然相比微软派系的IDE可自由拖动控件,Java的布局实在是不好用,但Java的设计者确实是用心良苦的,更何况如果想要设计可伸缩性的界面,其它语言也同样要使用布局的。
切好界面后,当然是要“贴上去”。熟悉Graphic的,当然可以画上去,新手或者想偷懒的,直接Image一个实例然后赋值给Panel。把那些边边角角都“贴上去”以后,剩下的就是center了,这里的设计因每个人的软件不同而有所区别。简单的如登录界面,那么可以不继续使用布局,因为控件的位置不需要跟随界面的改变而改变,那么可以将布局设置为null,这样就可以像微软派系的IDE一样自由拖动控件了——不过拖动的灵活性Eclipse确实有待改进;复杂的仍然要继续使用布局,这需要熟悉Java的各种布局,鉴于很多教程都有,我这里就不累赘了。还有一些细节的如JButton怎么做点击变化的效果,其实Eclipse那里有属性选项,大家熟悉一下就容易做到的了,而且JDK文档也有JButton的属性说明,勤读文档会受益匪浅的。整个设计的口诀是:九宫切,九宫布局,简单的自由拖动,复杂的再用布局。
再来说素面型,其实素面型就是指使用原有的系统界面,只是在工具或是按钮上加入图标的界面编程类型。这个类型着重点就是在布局的设计上面。大家看到的一些小程序(如计算器)使用的就是这个界面编程类型。这里就不再详述了。
上面的文字有点像教程,呵呵。目的也如开篇所讲的,通过类似教程的描述来证明Java桌面应用的界面编程其实可以和其它语言一样做得很好的。
此文出处www.mym2p.com、http://mym2p.shineblog.com
我将界面编程分为两种,第一种是设计型,第二种是素面型。
先说设计型,也是目前大家比较想实现的界面编程类型。所谓设计型,就是我们的软件界面已经重新设计,并非是系统的原始界面。
这一类型,基本上是UI设计人员和程序人员通力合作完成的。当然世事总是不如愿,很多时候并没有配备专门的UI设计人员,所以只好亲自操刀。我的做法是把整体的界面在PS里做出来,然后再进行切割,虽然最后完成的时候和初图有较大出入——这也是程序员经常和UI设计人员有矛盾的原因——UI设计得很好未必符合程序的设计。
这里先介绍一个名词:“九宫图”,就是把一个对象分成左上(1)、中上(2)、右上(3)、左中(4)、中中(5)、右中(6)、左下(7)、中下(8)、右下(9) 九个部分。如下图所示:
大家是否发现这个九宫图和我们在使用Eclipse新建Swing窗体时的布局是差不多的?下图是Java的BorderLayout布局。
介绍九宫图并与Java的布局作比较的意义就在于,通过比较我们可以明白,当我们PS了一张界面后,需要按照九宫图来进行切割,这样才便于我们设计一个可伸缩变化的界面。虽然相比微软派系的IDE可自由拖动控件,Java的布局实在是不好用,但Java的设计者确实是用心良苦的,更何况如果想要设计可伸缩性的界面,其它语言也同样要使用布局的。
切好界面后,当然是要“贴上去”。熟悉Graphic的,当然可以画上去,新手或者想偷懒的,直接Image一个实例然后赋值给Panel。把那些边边角角都“贴上去”以后,剩下的就是center了,这里的设计因每个人的软件不同而有所区别。简单的如登录界面,那么可以不继续使用布局,因为控件的位置不需要跟随界面的改变而改变,那么可以将布局设置为null,这样就可以像微软派系的IDE一样自由拖动控件了——不过拖动的灵活性Eclipse确实有待改进;复杂的仍然要继续使用布局,这需要熟悉Java的各种布局,鉴于很多教程都有,我这里就不累赘了。还有一些细节的如JButton怎么做点击变化的效果,其实Eclipse那里有属性选项,大家熟悉一下就容易做到的了,而且JDK文档也有JButton的属性说明,勤读文档会受益匪浅的。整个设计的口诀是:九宫切,九宫布局,简单的自由拖动,复杂的再用布局。
再来说素面型,其实素面型就是指使用原有的系统界面,只是在工具或是按钮上加入图标的界面编程类型。这个类型着重点就是在布局的设计上面。大家看到的一些小程序(如计算器)使用的就是这个界面编程类型。这里就不再详述了。
上面的文字有点像教程,呵呵。目的也如开篇所讲的,通过类似教程的描述来证明Java桌面应用的界面编程其实可以和其它语言一样做得很好的。
此文出处www.mym2p.com、http://mym2p.shineblog.com
相关文章推荐
- 探讨Java之桌面应用的可行性(三)
- 探讨Java之桌面应用的可行性(一)
- Java桌面应用可行性的研究
- 为什么很多人说 Java 不适合编写桌面应用?
- Java操作桌面应用 --- Desktop 类
- JAVA拾遗 - 优先队列的探讨以及其在KNN算法中的应用
- 我的第一个Java桌面应用
- 我的第一个Java桌面应用
- 我的第一个Java桌面应用
- 是否有人真的关心Java桌面应用?
- 有关java桌面应用如何在别的电脑上运行
- java多线程并发库高级应用 之 多个线程之间共享数据的方式探讨
- Java不适合编写桌面应用?
- 使用Kieker(基于AspectJ)监控Java桌面应用的基本方法
- (转)一键搞定Java桌面应用安装部署 —— exe4j + Inno
- 有关java桌面应用如何在别的电脑上运行
- 干货系列2:看看Java桌面应用开发的职业发展空间与必备技能
- 一键搞定Java桌面应用安装部署---exe4j + Inno Setup带着轻量级JRE
- 我的第一个Java桌面应用
- 我的第一个Java桌面应用