Java 设计GUI的最佳技巧?
不久前,我读了一本很棒的书(在我丢失它之前),书中有很多例子,但也有很多有用的花絮,比如前一分钟不要调用某个Java 设计GUI的最佳技巧?,java,user-interface,swing,Java,User Interface,Swing,不久前,我读了一本很棒的书(在我丢失它之前),书中有很多例子,但也有很多有用的花絮,比如前一分钟不要调用某个对话框,后一分钟弹出弹出窗口 在设计/记录GUI时,您会给出哪些最佳提示?如果能听到您设计的小部件将可读信息塞进尽可能少的屏幕空间,那将特别有用 我将用我自己的一个例子来说明这一点:避免树(例如Swing的JTree),除非你真的无法避免它,或者有一个无限的层次结构。我发现用户并不觉得它们直观,而且很难导航和过滤 注:我认为这个问题不同于我要求的通才技巧,我个人遵循以下简单规则: 在整个
对话框,后一分钟弹出弹出窗口
在设计/记录GUI时,您会给出哪些最佳提示?如果能听到您设计的小部件将可读信息塞进尽可能少的屏幕空间,那将特别有用
我将用我自己的一个例子来说明这一点:避免树(例如Swing的JTree
),除非你真的无法避免它,或者有一个无限的层次结构。我发现用户并不觉得它们直观,而且很难导航和过滤
注:我认为这个问题不同于我要求的通才技巧,我个人遵循以下简单规则:
- 在整个应用程序中保持一致不要改变行为/布局
- 信息流:从上到下从左到右(在西方国家)
- 页面上没有太多信息(如ppt演示文稿)
- 大字(这样老年人也能读)
- KISS(任何可以使用录像机的人都可以使用此页面/表格/等等)
- 使用放松的颜色,如蓝色、绿色等(不要大红或霓虹粉)
- 结构(当然可以更改,但作为初稿,主要是):
- 顶部->导航/菜单
- 左->导航/信息
- 中间->内容
- 底部->状态
- 右下->按钮
我认为,在这个小小的空间里,不可能给出设计好的GUI的技巧(问题大到“如何编写好的程序?”)。但我可以给一些有用的书指点一下:
我最重要的建议是
从GUI开发人员的角度来看
保持精简
如果你是说从可用性的角度来看
完成设计后,尽快向实际用户展示,并根据反馈进行优化:让几个人坐在您的软件前,让他们尝试解决您的软件设计任务(一个接一个,而不是一次解决所有任务…)。仅仅通过观看你就能学到的东西真是太神奇了
如果可能,测试人员应与典型客户群的配置文件相匹配。在这种可用性测试中,你能找到越多的人就越好,但在过去,即使每次产品迭代只观察少数人,对我来说也是非常有用的 要解决您在JTree上的问题(我同意),如果您想在应用程序中实现良好的JList和JTable交互,您应该考虑使用glassed list:
通过对代码进行一些调整,您可以获得许多功能(例如,可排序的表格标题)
除此之外,保持简单 不要更改默认颜色。这对于色盲的人来说很重要,我曾经从一位熟练的GUI技术负责人那里得到过一个非常具体的提示:
当您有一个带有按钮、文本字段、列表等的对话框/表单时,请尽量保持它们之间的空间一致且对称。例如,尝试在各个方向的小部件之间使用相同的距离,如果通过增加组之间的空间将一组小部件与另一组小部件分开,则尝试使该空间与组内控件之间的空间重复。例如,如果一个部分中的所有按钮在所有方向上都被16个像素隔开,请尝试为下一组32、64、128像素留出较大的空间
对于人眼来说,解释与明显对称性有关的事物要舒服得多
自从我试过以后,我总是用这种方法,效果很好。我甚至回去重新设计了旧的GUI,并惊讶地看到仅此调整就带来了如此大的改头换面
编辑:
忘了提到我从上述方法中学到的一个重要教训:
当您按照这个系统排列所有小部件时(特别是在重新处理旧的杂乱GUI时),您可能会耗尽空间,并且您的对话框需要膨胀。在某些情况下,您可能会感觉到对话框变得太大(例如,阻止相关的后台GUI或相关的小部件彼此距离太远)。
这可能是一个很好的指示,您可能应该将对话框拆分为选项卡,将内容移动到菜单中,或者将其转换为向导式的概念,等等
这与widget间距无关,但涉及到用户在任何给定时间都可以与之交互的“少即是多”主题。有趣的是,当你开始做正确的事情时,它会“激起涟漪”,有时会迫使你做更多正确的事情(有点像修正常数正确性:p)。使用尽可能少的UI
我想我们忘记了计算机是信息机器,也就是说,它们是为我们工作的
在iPhone上见过Shazam吗?它几乎只有一个按钮。你按下它,将手机举到正在播放歌曲的扬声器前,大约10秒钟后它就会告诉你正在播放什么歌曲
非常有用,几乎没有用户界面。所有的艰苦工作都在下面进行。请记住,用户的目标不是使用您的程序。他们的目标是别的,而你的程序只是帮助他们实现目标的工具。尽你所能让他们成功和快乐。乔尔·斯波尔斯基。
你可以在一个下午内阅读。我不确定我是否同意你的观点。有很多提示可以帮助你。对话框/弹出窗口的建议让我看到了我从未想到的设计方面。提示越多越好除非你的目标平台上没有管理字体大小的系统设施,否则我不鼓励在没有充分理由的情况下使用“大写字母”。我不同意“页面上的信息不要太多(如ppt演示文稿)”:当你有很多