1

JPanel を含む JFrame があります。

JFrame 内の Jpanel に事前構成されたコンポーネントである別の JPanel を追加したいと考えています。

私がこれを行う場合:

    subPanel.setLayout(new BorderLayout());
    subPanel.add(preconfiguredPanel,BorderLayout.CENTER);

私のパネルが表示されます。

私がこれを行う場合:

    subPanel.add(preconfiguredPanel);

私のJPanelは表示されません。ドキュメントには、add(Component) を使用すると、デフォルトのレイアウト FlowLayout が使用されると記載されています。わかりましたが、デフォルトの FlowLayout を使用しているときに、コンポーネントがその JPanel 内に表示されないのはなぜですか?

4

1 に答える 1

4

おそらく、パネルに適切なサイズがないためです。

パネルをBorderLayoutに追加する場合、デフォルトでは中央に配置されるため、パネルはフレームのサイズに自動的にサイズ変更されます。

パネルをFlowLayoutに追加すると、フローレイアウトはパネルのサイズを反映します。

さらにヘルプが必要な場合は、SSCCEを投稿してください。

于 2009-10-05T20:05:19.467 に答える