1

順番に並べられた 2 つの ScrollPanes を含む JFrame を設計しています。GroupLayout を使用する NetBeans (Matisse?) の組み込みフォーム エディタを使用しています。

私が観察したこと:フレームのサイズを変更すると、最初に一番下の ScrollPane が消えるまでサイズ変更され、次にこの ScrollPane の上のボタン、最後に他の Scrollpane がサイズ変更されます。

私が望むこと: フレームのサイズを変更するときは、両方の ScrollPanes のサイズを均等に変更する必要があるため、フレームのサイズが X で変更された場合、両方の ScrollPanes でサイズを X/2 で変更します。

これは可能ですか?(GroupLayout のソリューションが推奨されます)

PS: 全体のレイアウトには、表のような方法で配置されたボタンとラベルが含まれます。そのため、GroupLayout はすでに非常に便利です。

PS: 単純なレイアウト (グリッド、ボックス) を超える最適なオプションは MigLayout です。

ホワイトペーパーから引用させてください

拡大と縮小 コンポーネントに適切なサイズが指定されていない場合にどうなるかは、非常にカスタマイズ可能です。コンポーネントを拡大および縮小優先グループに分割するオプションがあり、優先度の低いコンポーネント/行/列のサイズが変更される前に、優先度の高いグループが縮小/拡大されます。これらのグループ内の重みの増加を設定して、その優先度グループ内のコンポーネント/行/列間で空き領域または縮小をどのように分割するかを指定できます。...

PS2: 私は現在 MigLayout を使用していますが、非常に強力なので、もう一度お勧めしたいと思います。ところで。私は彼らのチートシートが非常に便利だと思います (すべてのオプションが説明されています)。また、Web サイトのデモには、多くの例とソース コードが含まれています。ここでの問題と他の多くの問題は、MigLayout で簡単に解決できます。

4

2 に答える 2

3
Is this possible and how?

GridLayout、、(すべてをオーバーライドする必要がありGridBagLayoutます)およびfor を使用してBoxLayoutMinMaxPreferredSizeMigLayout

Is this possible and how? (Solutions for GroupLayout preferred)

私はこの道を行くつもりはない、可能性さえある

于 2012-11-14T14:05:46.083 に答える
2

グリッド レイアウトにより、要素のサイズが均等になります。使用する:

JPanel panel = new JPanel(new GridLayout(2,1));

それらを縦に並べる、つまり互いに並べたいので、2 は行数を表し、1 は列数を表します。

次に、ScrollPanes をパネルに追加するだけです。

panel.add(scrollPane1);
panel.add(scrollPane2);

グリッド レイアウトのドキュメントについては、これを参照してください。

于 2012-11-14T14:04:16.833 に答える