Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java IDE
打印话题 寄给朋友 订阅主题 |
作者 | Re:[请教]请教大家用什么工具设计UI? [Re:rainman] |
SimonLei
CJSDN高级会员 发贴: 288 积分: 100 |
于 2003-03-09 15:25
这是我在sailing上的一个老帖子。虽然我也没有完美的解决方案,sigh GUI设计和实现是Java 中Application 和Applet中的 “面子工程”。我们一直盼望这Java能够和VB一样,把一些控件 拖拉到设计面板上,就可以达到我们预先设计的模样。然而, 遗憾,Java的GUI使用复杂的Layout来做控制,如果界面复杂 而且经常变动时,实现和维护一个Application就是一场恶梦。 我们先看看通常的实现方法。也就是学习并且记住各种 Layout的属性,设置,然后手工code。不幸的我曾经被摊上这样 的事情。界面设计的一点变动,都需要手工修改代码,然后运行 看效果是否一致,再修改,再运行,永无宁日。有志于此道的同 仁可以参考:http://java.sun.com/docs/books/ 下面的两本 《Java Look and Feel Design Guidelines》以及Swing Tutorial。 万幸,第一个版本VisualCafe的出现将我从水深火热当 中解放了出来,它的同类JBuilder是我后来实现GUI主要工具。然后, 快乐是短暂的,换来的只是无穷无尽的痛苦跟长叹。使用 JBuilder来实现的GUI,看起来很不错,只要把控件拖拖拉拉就可以。 但是,首先,并不是拖拖拉拉那么简单,你要设定好Layout,要使用 诸多的Panel来届定各个控件。其次,一旦碰到你的设计需要改变时, 千万别手工修改代码,否则JBuilder可不一定认得。最后,如果你 打算用JBuilder来修改GUI的设计,那么你的工作量和重头开始区别 不大,因为你要改变Layout,增加Panel,来达到你想要的目的。所 见即所得是真的,但为了达到那个所得,我又陷入了水热火深当中。 而且,更为不幸的是,当你想重用某部分界面的时候,你会 怎么做?将这部分代码拷贝出来?违反了不重复的原则。抽取出来做 成一个Bean?对嘛,这才是好办法。可是真的是好办法吗?别忘了, 你把这部分界面抽取出来,意味着又是一次手忙脚乱的重新布局。 布局的痛苦一直缠绕着我,直到有一天天上掉下个星星砸着 我的脑袋,让我脑袋震荡了一下,想到应该有办法把GUI的布局用某种 语言记录下来,直接修改这种布局描述语言。当然了,如果有了想法 就自己实现,那我会累死的。既然有google君这样博见多闻的智者, 自然我会先向他讨教一二。结果令人满意,因为确实有很多这样的项目 存在。当然也让我很沮丧,满以为很新的想法,没想到已经有这么多先驱 了。沮丧归沮丧,然而赶紧尝试这一解决方案才是正路。于是下载了无数 的此类项目: http://www.jeasy.de/ http://www.vienas.ch/smaker/ http://jgb.sourceforge.net/ http://www.trcinc.com/go/sl.asp?s=xmltalk http://jxul.sourceforge.net/ ...... 经过尝试和淘汰,我终于解脱了。要问XML 定义GUI有什么优点, 我可以一一道来: 1. MVC。使用XML定义GUI,你根本不会妄想在XML当中就做事件的处理对不对? 2. 修改方便。不用费劲去拖动控件,只需要修改XML就好了。 3. Reuse。当你需要重用某个View的时候,只要把它include进来,就可以使用了。 还有Action也是这样。这样,这个Dialog当中的一个Panel(例如有若干个输入 框),就可以很方便的用在我这个Frame当中了,比如用在右边的那个Panel当中。 Action就更不用说了。 4. 代码移植性。先给大家介绍个好站点,http://www.creamtec.com/webcream/ 它是 干吗的?它是把Swing做成的Application给你变成jsp/servlet的。牛吧。但是, 有了XML,我们也可以做到这一点,说不定还不用它那么费劲。当然,真正这样做的 例子我还没见到。 5. 还是代码移植性。我们一直在谈Java,可是这种用XML写的View,可以理直气壮的用在 其他语言当中对不对? 缺点当然也有: 1. 非所见即所得 2. 使用的是运行时编译,而不是code generation,造成非要运行才能发现错误 3. 非标准化。不过这个我已经发现了一个事实上的标准XUL: http://www.xulplanet.com/tutorials/xultu/ http://www.mozilla.org/xpfe/xptoolkit/xulintro.html 以上是我若干年来用Java 设计和实现GUI的一点点心得,大家尽管拍砖。 You may say I am a dreamer, But I am not the only one. My blog+wiki: http://blogsite.3322.org/ |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
7475 | [请教]请教大家用什么工具设计UI? | yamakasy | 412 | 2003-03-09 13:57 |
6086 | Re:[请教]请教大家用什么工具设计UI? | rainman | 10 | 2003-03-09 14:04 |
6130 | Re:[请教]请教大家用什么工具设计UI? | SimonLei | 2088 | 2003-03-09 15:25 |
6363 | Re:[请教]请教大家用什么工具设计UI? | Biubiu | 438 | 2003-03-09 18:30 |
6187 | Re:[请教]请教大家用什么工具设计UI? | Biubiu | 49 | 2003-03-09 18:31 |
6117 | Re:[请教]请教大家用什么工具设计UI? | SimonLei | 135 | 2003-03-09 19:34 |
5845 | Re:[请教]请教大家用什么工具设计UI? | 小雪初晴 | 57 | 2003-03-12 14:37 |
6125 | Re:[请教]请教大家用什么工具设计UI? | yamakasy | 121 | 2003-03-13 13:30 |
6093 | Re:[请教]请教大家用什么工具设计UI? | Biubiu | 176 | 2003-03-21 15:00 |
6156 | Re:[请教]请教大家用什么工具设计UI? | yamakasy | 26 | 2003-03-22 20:54 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |