0

シンプルな Border レイアウト テンプレートを作成しようとしており、frame.pack() を使用してフレーム サイズを決定しています。中央の領域に目に見えないラベルがあり、pack メソッドはラベルを考慮していないようで、表示されません。フレームは最初は他のコンポーネントに適したサイズであるため、最初は機能することがわかっています。では、フレームに非表示のラベルを考慮に入れるにはどうすればよいでしょうか? ラベルは、中央領域のボタンが選択されている場合にのみ表示されます。ラベルを表示するにはフレーム サイズを手動で大きくする必要があることを除けば、すべてが機能します。

4

1 に答える 1

1

ラベルが入っているコンテナのレイアウトマネージャ次第だと思います。一部のレイアウトマネージャーは、表示されているコンポーネントのみに基づいて優先サイズを計算し、その他のレイアウトマネージャーは非表示のコンポーネントを考慮に入れます。たとえば、GroupLayoutにはsetHonorsVisibilityメソッドがあります。

とにかく、最も簡単な方法は、を呼び出したpackにラベルを非表示にすることです。

関連項目SetVisible(false)は、パネル内のコンポーネントのレイアウトを変更します

于 2011-10-18T16:34:25.060 に答える