【发布时间】:2010-09-11 22:11:14
【问题描述】:
Java 为使用 Java Swing 构建的应用程序提供标准用户界面指南。基本准则很好,但我真的觉得外观和感觉真的很无聊和过时。
是否有人知道公开可用的 Java 用户界面指南,其外观指南比 Sun 提供的指南更好?
【问题讨论】:
标签: java swing user-interface
Java 为使用 Java Swing 构建的应用程序提供标准用户界面指南。基本准则很好,但我真的觉得外观和感觉真的很无聊和过时。
是否有人知道公开可用的 Java 用户界面指南,其外观指南比 Sun 提供的指南更好?
【问题讨论】:
标签: java swing user-interface
您有许多 LNF(外观和感觉)displayed here,但他们没有完全提供“Java 用户指南”。
但是 MigLayout 确实严格遵循现有的主要用户界面标准(包括 button order 的一些模糊点):
例如,确定和取消按钮在 Windows 和 Mac OS X 上的顺序不同。
虽然其他布局管理器为此使用工厂和按钮构建器,但 MigLayout 本身就支持它,只需标记按钮即可。
只需将 OK 按钮标记为“ok”,将 Cancel 按钮标记为“cancel”,如果将它们放在同一个网格单元中,它们将按照应用程序运行平台的正确顺序结束。
Mac 上的示例:
(来源:miglayout.com)
【讨论】:
我认为没有其他完整的指南。但是如果你不是在谈论组件的间距/定位(我不认为外观设计指南的那部分已经过时),而只是关于外观和感觉良好的起点是 singlabx / swingx:
http://swinglabs.org/docs/presentations/2007/DesktopMatters/FilthyRichClients.pdf
http://parleys.com/display/PARLEYS/Home#slide=1;talk=7643;title=Filthy%20Rich%20Clients
和 JGoodies:
http://www.jgoodies.com/articles/index.html
http://www.jgoodies.com/articles/efficient%20swing%20design.pdf
【讨论】:
苹果开发者指南有一个人机界面指南 - http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/chapter_1_section_1.html#//apple_ref/doc/uid/TP30000894-TP6。
虽然它针对的是 mac 平台,但你也可以从中学到一些东西——这就是为什么这么多 mac 应用使用起来很舒服,而且美观的原因!
【讨论】:
根据 Chii 的回答,我建议您查看Windows Vista User Experience Guidelines,了解有关制作用户界面的一般提示。
虽然名称(“Windows Vista 用户体验指南”)和来源(Microsoft)可能暗示它只包含以 Windows 为中心的提示和建议,但它确实提供了很好的一般提示和指导,可在为非用户设计界面时使用-Windows 应用程序也是如此。
Design Principles 部分说明了在设计有效的用户界面时要牢记的一些要点。例如,How to Design a Great User Experience 的第三个项目符号说:
不要成为所有人的全部 计划会更成功 通过取悦其目标用户而不是 试图让每个人都满意。
这些技巧适用于在任何平台上设计用户界面。当然,也有特定于 Windows 的指南。
我认为 Swing 应用程序的外观和感觉看起来“乏味”和“过时”的最大原因之一是 Java 独立于平台的特性。为了使图形用户界面能够在多个不同的平台上工作,Java 需要具备使用户界面适应不同主机操作系统的功能。
例如,各种平台的窗口、按钮和其他视觉组件的尺寸各不相同,因此绝对定位效果不太好。为了解决这个问题,Swing 使用了Layout Managers,它(通常)使用相对定位将视觉组件放置在屏幕上。
尽管为 Java 构建图形用户界面存在这些“限制”,但我认为使用由非 Sun 资源和非 Java 特定资源提供的指南中的提示仍然是设计和实现的一个很好的信息来源一个有效的用户界面。毕竟,设计用户界面与编程语言无关,而更多地与人机交互有关。
【讨论】: