1

私のアプリケーションでは、4 つのパネルがあります。そして、それらを使用するメインパネルに挿入する必要がありますBorderLayout。4枚のパネルは...

  1. 薄い画像ストリップ。
  2. すぐ上にある 4 つのボタン
  3. ページ全体をカバーする TextField。
  4. 終わりについて。

これは私のコードです...

    add(imageLabel, BorderLayout.NORTH);
    add(buttonPanel,BorderLayout.PAGE_START);
    add(logScrollPane, BorderLayout.CENTER);
    add(about, BorderLayout.PAGE_END);

これを行うと、がbuttonPanel消えます。どうすれば必要なものを達成できますか?

4

1 に答える 1

6

私は通常、任意の に最大 3 つのコンポーネントを保持しようとするので、次のBorderLayoutようにします...

JPanel outerPanel = new JPanel(new BorderLayout());
JPanel innerPanel= new JPanel(new BorderLayout());

innerPanel.add(buttonPanel,BorderLayout.NORTH);
innerPanel.add(logScrollPane, BorderLayout.CENTER);
innerPanel.add(about, BorderLayout.SOUTH);

outerPanel.add(imageLabel, BorderLayout.NORTH);
outerPanel.add(innerPanel,BorderLayout.CENTER);

「最大ストレッチ」コンポーネントをCENTER(この場合はlogScrollPane) に保持している限り、常に機能します。に設定するなど、パネルを使用する場合は、そのままJFrame使用しますadd(outerPanel)

心配しないでくださいBorderLayout- コンポーネントを自動拡張して利用可能なスペースを埋めるこのレイアウトの機能はCENTER、非常に強力で非常に重要LayoutManagerです!

于 2012-10-31T12:14:05.933 に答える