2011-05-06 7 views
2

私のJavaプロジェクトのオブジェクトを特定の方法で整列しようとしましたが、成功しませんでした。私はレイアウトのMigLayoutを使用していますが、これは、私はそれが見たい方法です:MigLayoutを使用した問題のあるレイアウトのヘルプ

Desired layout

  1. サイドバーには、静的な幅(220px)を持っている必要があり、左側にドッキングします。
  2. 右の列は、流体の幅を持ち、ウィンドウのサイズに従って展開する必要があります。
  3. フッターは、底部にドッキングされ、静的な高さ、流体幅を持つ必要があります。

これは私が今持っているコードです:私は使い方の説明を理解しようとしてきたが、彼らが理解しにくい

this.setLayout(new MigLayout("fill, wrap 2", "[30%][70%]", "grow")); 

this.add(sourceList, "w 30%"); 
this.add(listView, "w 70%"); 
this.add(bottomBar.getComponent(), "growx, push, span"); 

。ここの誰かがMigLayoutの仕事に関する知識を持っていて、私を助けてくれることを願っていました。

+0

GridBagLayoutでこれを行うことができます。ここでMigLayoutが最適なオプションかどうかはわかりません。 – Liv

+1

他のレイアウトオプションがあることは知っていますが、私が聞いたことから、ずっと多くの配置と寸法の自由度があるので、MigLayoutが最適です。 – Jonathan

+1

@ジョナトンはあなたがしていることをやっています。 MigLayoutとJGoodies FormLayoutは2つのベストです。 GridBagに移動しないでください。使用するのは苦痛です。 –

答えて

4

私はWindowBuilder Proを使用しています。これは、これらを構築するのに非常に役立ちます。無料で、MigLayoutもサポートしています。

何あなたはそれで説明すると、私を取得行う:

setLayout(new MigLayout("", "[220][grow]", "[grow][]")); 
add(sidebar, "cell 0 0,grow"); 
add(main, "cell 1 0,grow"); 
add(bottom, "cell 0 1 2 1,grow"); 

これは(コンストラクタの列仕様から)一定の220でサイドバー、好ましいサイズの静的高さで下を保持します。列2の幅と列1の高さは、各セルの構成要素と同じように、大きくなります。

+0

こんにちは、ありがとうコメント。私は上記のコードを試してみました。私はサイドバーの右側にスペースがあり、ボトムの上にスペースがあります。これらを削除する方法はありますか?また、私はWindowBuilderを見ていきます! – Jonathan

+0

コンストラクタをMigLayout( "gap 0px 0px"、 "[220] [grow]"、 "[grow] []"))にします。それをするべきだと私は思う。 –

+0

ここで彼らのチートシートです:http://migcalendar.com/miglayout/cheatsheet.html –

関連する問題