1

私は次のことを達成したいと思います:

ここに画像の説明を入力

最初の列は全幅の 20% で、2 番目の列は 80% です。そして、それは動的でなければなりません(例:拡大/縮小すると、cssのリキッドレイアウトのようにそれに応じて変化する必要があります)

4

4 に答える 4

3

Swing の場合、gridbag レイアウトを使用します。

2 つの列、1 つの行があります。

gridwidth プロパティは、最初の列が .2 で 2 番目の列が .8 になるように、または最初の列の値が 2 番目の列の値の 1/4 になるような数値のセットになるように設定されます。

両方の列のグリッドの高さは同じでなければなりません。

塗りつぶしを少し試すことができます。コンポーネントで満たされていない UI のスペースを気にしない場合は、none を使用します。サイズを適切に変更したいが、.2 から .8 の比率を維持したい場合は、水平方向を試して、適切な比率が自動的に維持されるかどうかを確認してください。

そうでない場合は、最初の列の重みを .2 に設定し、2 番目の列を .8 に設定してみてください。JPanel がユーザーによってどれほど大きく作成されても、Yo は .2 から .8 の比率を維持しようとしています。

さらにサポートが必要な場合はお知らせください。

于 2012-05-28T16:44:31.997 に答える
3

MigLayout はあなたの親友です: http://www.miglayout.com

コードは次のようになります。

JPanel panel = new JPanel(new MigLayout("wrap 2, fill", "[fill,20%][fill,80%]"));
panel.add(panel1);
panel.add(panel2);
于 2012-05-28T15:25:04.227 に答える
2

デスクトップJavaアプリケーション(Swingベース)について質問している場合は、GridBagLayoutを使用できます-標準レイアウトはJDKに付属しています。ややわかりにくいですが。 http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

最善の解決策は、独自のレイアウトを作成することです。それほど難しいことではありません。

于 2012-05-28T15:30:54.707 に答える
2

GridBagLayout は、理解されるよりも恐れられています。

私は、ほとんどの画面にヘッダー フッターと左側のナビゲーション パネルがあるアプリケーションで作業していました。そのときは Gridbag レイアウトを使用しましたが、サイズ変更中に必要な動作が得られたのはそれだけでした。ビジュアルカフェを利用しました。

2 つの列の要件は、いくつかの gridbag 制約のみが影響を受けるため、Gridbag の使用を開始するのに適しているようです。行/列がさらにある場合は、ツールを使用して UI を構築することをお勧めします。

于 2012-05-28T16:30:09.590 に答える