1

visibleプロパティが false に設定されている Java Swing コンポーネントがいくつかあります。それらが表示されていない場合、レイアウト内のスペースを占有したくありません。これを達成するための最良の方法は何ですか?

WPF の動作をエミュレートしようとしていVisibility.Collapsedます。

編集: MiGLayout を使用しています。回答で kiheru が説明しているように、私が抱えていた問題は MiGLayout に固有のものであり、一般的な Swing レイアウトではありません。

4

1 に答える 1

4

MigLayoutデフォルトでは、非表示コンポーネントを表示コンポーネントと同じように扱います。hidemode他の種類の動作を指定する必要があります。documentationから、可能な値は次のとおりです。

  1. デフォルト。非表示のコンポーネントが、表示されているかのように正確に処理されることを意味します。
  2. コンポーネントのサイズ (非表示の場合) は 0, 0 に設定されます。
  3. コンポーネントのサイズ (非表示の場合) は 0, 0 に設定され、その周りのギャップも 0 に設定されます。
  4. 非表示のコンポーネントはレイアウトにまったく参加せず、たとえばグリッド セルを占有しません。
于 2013-09-06T14:32:56.033 に答える