Java は、Java Swing を使用して構築されたアプリケーションの標準ユーザー インターフェイス ガイドラインを提供します。基本的なガイドラインは良いのですが、ルック アンド フィールは本当に退屈で時代遅れだと感じます。
Sun が提供するガイドラインよりもルック アンド フィールのガイドラインが優れている、公開されている Java ユーザー インターフェイス ガイドを知っている人はいますか?
Java は、Java Swing を使用して構築されたアプリケーションの標準ユーザー インターフェイス ガイドラインを提供します。基本的なガイドラインは良いのですが、ルック アンド フィールは本当に退屈で時代遅れだと感じます。
Sun が提供するガイドラインよりもルック アンド フィールのガイドラインが優れている、公開されている Java ユーザー インターフェイス ガイドを知っている人はいますか?
アップルデベロッパガイドには、ヒューマンコンピュータインターフェイスガイドがあります-http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/chapter_1_section_1.html#//apple_ref/doc/uid/TP30000894-TP6。
Macプラットフォームを対象としていますが、そこから何かを学ぶことができます。これが、非常に多くのMacアプリが使いやすく、見た目にも美しい理由です。
ここには多くの LNF (ルック アンド フィール)が表示されていますが、「Java ユーザー ガイド」は提供されていません。
ただし、 MigLayoutは、そこに存在する主要なユーザー インターフェース標準に厳密に従っています (ボタンの順序のあいまいな点を含む)。
たとえば、Windows と Mac OS X では、[OK] ボタンと [キャンセル] ボタンの順序が異なります。
他のレイアウト マネージャーはこれにファクトリとボタン ビルダーを使用しますが、ボタンにタグを付けるだけで MigLayout によって本質的にサポートされます。
OK ボタンに「ok」、キャンセル ボタンに「cancel」のタグを付けるだけで、同じグリッド セルに配置されている場合、アプリケーションが実行されているプラットフォームの正しい順序になります。
Mac での例:
(ソース: miglayout.com )
Chii の回答に沿って、ユーザー インターフェイスの作成に関する一般的なヒントについては、 Windows Vista ユーザー エクスペリエンス ガイドラインを参照することをお勧めします。
名前 (「Windows Vista ユーザー エクスペリエンス ガイドライン」) とソース (Microsoft) から、Windows 中心のヒントとアドバイスのみが含まれているように見えるかもしれませんが、Windows 以外のアプリケーションのインターフェイスを設計するときに使用できる一般的なヒントと指示を提供しています。同じように。
設計原則のセクションでは、効果的なユーザー インターフェイスを設計する際に留意すべきいくつかの点について説明します。たとえば、「優れたユーザー エクスペリエンスを設計する方法」の箇条書き 3 には、次のように書かれています。
すべての人にすべてを提供しないでくださいあなたのプログラムは、すべての人を満足させようとするよりも、ターゲット ユーザーを喜ばせた方が成功するでしょう。
これらは、あらゆるプラットフォームでのユーザー インターフェイスの設計に適用される種類のヒントです。もちろん、Windows 固有のガイドラインもあります。
Swing アプリケーションのルック アンド フィールが「退屈」で「時代遅れ」に見える最大の理由の 1 つは、Java のプラットフォームに依存しない性質によるものだと私は信じています。グラフィカル ユーザー インターフェイスが複数の異なるプラットフォームで動作するためには、Java には、ユーザー インターフェイスをさまざまなホスト オペレーティング システムに適応させる機能が必要です。
たとえば、プラットフォームごとにウィンドウ、ボタン、およびその他のビジュアル コンポーネントのサイズが異なるため、絶対配置はうまく機能しません。この問題に対処するために、Swing は、(一般に) 相対的な配置を使用してビジュアル コンポーネントを画面に配置するレイアウト マネージャーを使用します。
Java 用のグラフィカル ユーザー インターフェースの作成にはこれらの「制限」がありますが、Sun 以外のソースや Java 固有でないソースから提供されるガイドラインからのヒントを使用することは、ユーザー インターフェースの設計と実装における優れた情報源になり得ると思います。それは効果的です。結局のところ、ユーザー インターフェイスの設計は、プログラミング言語ではなく、人間と機械の相互作用に関係しています。
他に完全なガイドラインはないと思います。ただし、コンポーネントの間隔/配置について話しているのではなく (ルック アンド フィール デザイン ガイドラインの一部が古くなっているとは思いません)、ルック アンド フィールの優れた出発点についてのみ話している場合は、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/effective%20swing%20design.pdf