5

JLabels と JTextField で構成される行を含む単純な Miglayout ダイアログがあります。多くのコンポーネントの可視性は、状況に応じて設定されます。ただし、非表示の場合、行の高さは同じままで、空白の領域が残ります。

最小行の高さを 0px に設定し、他の行も「成長」に設定しましたが、これは役に立たないようです。確かに、行の高さが 0px で、その内容が隠されている場合は、縮小する必要があります。明らかに私は何かが欠けています!

どんな助けでも大歓迎です。

4

3 に答える 3

6

非表示のコンポーネントがレイアウトに影響を与えないように、レイアウトの hidemode を設定できます。

http://migcalendar.com/miglayout/cheatsheet.htmlから:

レイアウトのデフォルトの非表示モードを設定します。この非表示モードは、コンポーネント コンストレイントによってオーバーライドできます。非表示モードは、レイアウト マネージャーが非表示のコンポーネントを処理する方法を指定します。モードは次のとおりです。 0 - デフォルト。非表示のコンポーネントが、表示されているかのように正確に処理されることを意味します。1 - 非表示コンポーネントのサイズは 0, 0 に設定されます。 2 - 非表示コンポーネントのサイズは 0, 0 に設定され、その周りのギャップも 0 に設定されます。3 - 非表示のコンポーネントはレイアウトにまったく参加せず、たとえばグリッド セルを占有しません。

于 2012-10-09T18:14:31.050 に答える
3

クエリをオンラインに投稿した後でないと、問題に対する回答が見つからないのはなぜですか? 次の QA を見落としていたようです:非表示オブジェクトの GridBagLayout のように強制的に MigLayout を縮小する

于 2012-02-03T13:59:28.520 に答える
1

panel.revalidate()可視性が変更された後、コンポーネントをレイアウトするために呼び出しが必要になる場合があります。

于 2012-02-02T20:02:20.300 に答える