2012-01-04 14 views
2

私は自分のグラフィックを見た目にしたいと思っていますが、しばらくレイアウトマネージャを使いこなしていて、うまく機能する組み合わせを見つけることができないようです。Java Layout Managerのアドバイス

ここにセットアップがあります。 1 JFrameには2つのJScrollPaneが含まれています。 ScrollPane1は、JFrameの垂直方向の空間の30%を取得します。 ScrollPane2は、JFrameの垂直方向のスペースの70%を取得します。

各JScrollPaneには、ScrollPaneの中央の中央に1つのJLabel、スクロールペインの下部に中央にある1つのJButton、各スクロールペインの中央にある多くのJCheckBoxがあります。

理想的には、以下のようになります。 http://i.imgur.com/f7KsC.jpg

私の質問は:あなたはJFrameの各側JScrollPaneのために使用するどのようなレイアウトマネージャー?

EDIT:すべての外部ツールキットは、当社のプロジェクトに組み込む前に、弊社の法務部門を通過する必要があります。私は内部のJavaライブラリに固執したいと思います。

EDIT 2:仕上げました!最終的なセットアップは次のとおりです。 http://i.imgur.com/5ndjx.png

私が学んだことは、Javaで区画化しておくことが重要だということです。私はフレームにきれいに収まることを望んでいる私のオブジェクトすべてのために少なすぎるコンテナを使用していました。そこで、私は、より多くのパネルとレイアウトマネージャーを使い始めました。そして、それは美しいものでした。完璧に見えます。助けをいただき、ありがとうございました。

+0

いくつかのパネルを使用するとパネル間の整合性が損なわれることがあります。それはあなたの特定のケースでは問題ではないかもしれませんが、それは通常のアプリケーションではしばしばショーストッパーです。今では、1つのウィンドウ/ダイアログに対して1つのパネル(つまり1つのレイアウト)のみを保持しようとしています。そして、私はDesignGridLayoutのような "高レベル"のLayoutManagerを使用しています(これは、私が扱わなければならないほとんどのウィンドウに最適です)。 – jfpoilpret

+0

[MigLayout](http://www.miglayout.com/)をご覧ください。素晴らしいです。 – ninesided

答えて

3

IMHO、私はコンテナのコンテンツペインをJSplitPaneインスタンスにします。

上半分は、JComponentの3つのインスタンスで構成され、アライメントのBoxLayoutマネージャを使用します。最上位層はFlowLayoutマネージャを使用します。中間層は、複数の並置されたJComponentインスタンスで構成され、各インスタンスはアライメントのBoxLayoutマネージャを使用します。もちろん、レイヤー自体にはFlowLayoutのマネージャーが使用されます。最下層は、いくつかの並んでいるJComponentインスタンスで構成され、FlowLayoutマネージャを使用します。

下半分は上半分とまったく同じであるため、このロジックをすべて単一のカスタムコンポーネントにカプセル化することを検討してください。

詳細については、Using Layout Managersを参照してください。

+1

私はJSplitPaneについて知らなかった。彼らについて今読んで、彼らはすごく見える。ありがとう! – anon58192932

3

私はほとんどすべてのステップでMigLayoutを使用する傾向があります。

+0

すべての外部ライブラリとツールキットは、私の個人的な使用のために自宅で試してもらうことができますが、これを使用して/リンクするなどのおかげで使用する前に、私の会社の法務部門の承認を得る必要があります。 – anon58192932

+1

十分なことですが、努力を保証するのに十分なレイアウトを使用している場合は、承認プロセスの開始をお勧めします。 –

+0

これは私の最初のJavaビジュアルプロジェクトです。家に帰るとMigLayoutをテストします。私が好きなら(私のように聞こえる)、私はおそらくそれを承認するプロセスを経るでしょう。 もう一度おねがいします! – anon58192932