2

SWT UI ライブラリと MigLayout レイアウト ライブラリを使用して Java UI を作成しました。

このページには、Windows、Linux、および OSX の UI のスクリーンショットが表示されます: http://mchr3k.github.com/org.intrace/screenshots.html

Linux と OSX では、UI のパディングとスペーシングが多くなり、多くの画面スペースが無駄になっているように感じます。これはこれらのプラットフォームでは正常ですか? そうでない場合、これを回避する最善の方法は何ですか?

編集:リンクされたスクリーンショットが更新され、UI要素の一部のマージンを明示的に0に設定したため、OSXで余分なギャップが表示されなくなりました。OSX UIはまだかなり離れていますが、これは正しいと思いますプラットフォーム。

4

2 に答える 2

16

MigLayoutの作成者であるMikaelGrevです。

他の誰かが述べたように、これはMigLayoutの機能です。デフォルトでは、x個のピクセルを使用する代わりに(もちろんそれも使用できます)、関連、非関連、段落などのギャップを使用します。これらは、さまざまなUIツールキットのさまざまなサイズに対応しています。たとえば、OS Xでは、コンポーネント間の推奨される空白はWindowsよりも大きくなります。

だから、はい、これはそれがどのように見えるべきかであり、ネイティブOSXユーザーにとっては正しく見えるでしょう。

ただし、OS XとWindowsの両方で、出力ペインの下部に余白が多すぎるようです。

MigLayoutのPlatformDefaultsクラスを使用して、プラットフォームを強制するか、デフォルトのギャップを変更できます。舞台裏で何が起こっているのかを知りたい場合は、ソースコードを確認してください。

また、これは、すべての開発者がさまざまなプラットフォームで間隔を空ける方法を追跡する必要がないようにするための機能であることを忘れないでください。これはちょっと難しいことです。

乾杯、ミカエル

于 2011-06-13T08:23:23.573 に答える
1

私が正しく思い出せば、それは実際にはMigLayoutの機能です。これが必要ない場合は、MigLayoutを構成できると確信しています。それ以外の場合は、すべてのプラットフォーム( MatrixLayoutなど)に一定の間隔を使用する別のレイアウトマネージャーを使用できます(ただし、テーブルベースのマネージャーを強くお勧めします)。

于 2011-06-13T03:12:45.987 に答える