前段时间我读了(在我丢失之前)一本名为GUI Bloopers的好书,其中充满了bad GUI design的例子,但也充满了有用的花絮,比如不要叫某事 Dialog
一分钟 Popup
下一个。
您在设计/记录GUI方面有哪些重要提示?听说您设计的小部件将可读信息塞入尽可能小的屏幕空间中会特别有用。
我打算用我自己的一个:避免树(例如Swing的JTree
),除非你真的无法避免它,或者有一个无限的层次结构东西。我发现用户发现它们不直观,很难导航和过滤。
PS。我认为这个问题与this one不同,因为我要求提出通才提示
答案 0 :(得分:15)
我个人遵循这些简单的规则:
答案 1 :(得分:8)
我从熟练的GUI技术领域获得过一次相当具体的提示:
如果您有一个带有按钮,文本字段,列表等的对话框/表单,请尝试保持它们之间的空间一致且对称。例如,尝试在所有方向上使用小部件之间的相同距离,如果通过增加组之间的空间将一组小部件与另一个小部件分开,请尝试使该空间与组内控件之间的空间重复。例如,如果一个区域中的所有按钮在所有方向上相隔16个像素,请尝试将较大的空间用于下一组32,64,128个像素。
对于人类来说,解释一些明显对称的东西会更舒服。
自从我尝试过以后,我总是使用这种方法,效果非常好。我甚至回去重新设计了较旧的图形用户界面,并且很惊讶地看到这种调整只有这样的改进。
修改强>
忘记提及我从上述方法中学到的重要一课:
当您根据此系统安排所有小部件时(特别是在重新处理旧的混乱GUI时),您可能会用完空间,并且您的对话框需要膨胀。在某些时候,人们可以感觉到对话框变得太大(例如,阻止相关的背景GUI或相关的小部件彼此相距太远)。 这可能是一个很好的指标,您可能应该将对话框拆分为选项卡,将内容移动到菜单中或者只是将其转换为向导式概念等。
这与小部件间距非常无关,但触及了用户在任何给定时间与之交互的更少的主题。有趣的是,当你开始做正确的事情时,它会“涟漪”,有时会迫使你做出更多正确的事情(有点像修正常态:p)。
答案 2 :(得分:7)
我的最佳提示是 从GUI开发人员的角度来看
如果从可用性的角度来看意味着
答案 3 :(得分:6)
完成设计后:让一些人坐在您的软件前面,让他们尝试解决您的软件设计的任务(一个接一个,而不是一次完成......)。通过观察它们,您将学到的东西绝对令人惊叹。
如果可能,测试人员应与典型客户群的配置文件相匹配。对于这种可用性测试,您可以找到的人越多越好,但即使每次产品迭代只看少数人,对我来说也是非常有用的。
答案 4 :(得分:5)
请记住,用户的目标不是使用您的程序。他们的目标是别的,你的程序只是帮助他们实现这一目标的工具。尽力使他们成功和快乐。
答案 5 :(得分:4)
请勿更改默认颜色。对于 colorblind 的人来说非常重要。
答案 6 :(得分:3)
为了解决JTree的问题(我同意这一点),如果你想在你的app中进行漂亮的JList和JTable交互,你应该考虑使用glazed列表:http://publicobject.com/glazedlists/
您可以通过对代码进行一些调整来获得许多功能(可排序的表格标题,例如)。
除此之外,请保持简单。
答案 7 :(得分:2)
我不认为在这个小空间中提供可以设计出良好GUI的技巧(这个问题和“如何编写好的程序一样大”?)。但我可以指出一些有用的书:
答案 8 :(得分:1)
使用尽可能少的UI。
我认为我们忘记了计算机是计算机的信息,即它们意味着为我们工作。
在iPhone上见过Shazam?它几乎有一个按钮。你按下它,把手机拿到扬声器播放一首歌,大约10秒后它会告诉你正在播放什么歌。
非常有用,几乎没有用户界面。所有艰苦的工作都在下面进行。
答案 9 :(得分:0)
User Interface Design。 你可以在一个下午阅读。