JavaのsetSize()とsetPreferredSize()の違い
違いは setSize() および setPreferredSize()は少し複雑です。時々、setSize() そして時々 setPreferredSize()です。一方が私たちのニーズを満たし、もう一方が満たさない場合があります。これら2つの方法の主な違いは?JFrameとJPanelにはどちらを使うべきですか?コンポーネントに親がない場合は、setSize()はコンポーネントのサイズを変更します。setPreferredSize() と両方のメソッド setMinimumSize() および setMaximumSize()です。setPreferredSize() コンポーネントに最適なサイズを選択すると、レイアウトマネージャはコンポーネントに適切なスペースを配置しようとします.
setSize() 親コンポーネントがレイアウトマネージャを使用している場合は何も行いません。setSize() 効果がある は、JFrameやJWindowなどのトップレベルコンポーネントにあります。以下を呼び出す必要があります。setSize() レイアウトマネージャのない親内部にコンポーネントがある場合.
So, setPreferredSize() レイアウトマネージャがある場合は、そのほとんどが コンポーネントの最適サイズ、最小サイズ、最大サイズを回復します。使うsetSize() および setLocation を使用して、選択したレイアウトのパラメータに従ってこれらのコンポーネントを配置します。
例:
A BorderLayoutは、北部領域の境界を、指定された寸法と等しく設定しようとします。 setPreferredSize() その北部地域の。JFrameのサイズとlayout に従った他のコンポーネントのサイズ.
結論として:
- setPreferredSize() レイアウトがある場合は、コンポーネントの最適な位置と寸法を計算します。
- レイアウトがない場合は、setSize()