0

2 つの JPanel を配置したいのですが、大きな JPanel の中に重ねて配置します。「panel_controls」は .getPreferredSize() をオーバーライドします。コード:

public final class GUIPanelMain extends JPanel {
    //...

    private JPanel panel_images;
    private JPanel panel_controls;

    //...

    private void addPanels() {
        new BoxLayout(this,BoxLayout.Y_AXIS); //Bleh!  Still is horizontal!
        this.add(panel_images);
        this.add(panel_controls);
    }

    //...
}

残念ながら、レイアウトはとにかく水平に設定されています。すべてのコンポーネントが適切な場所 (この場合は垂直方向) に配置されるのは、JPanel のサイズを変更するときだけです。

ドキュメントで次のことを読みました。

では、失敗の条件とは?どうすれば垂直方向に整列させることができますか?

ありがとう、

4

1 に答える 1

3

試す

this.setLayout( new BoxLayout(this, BoxLayout.Y_AXIS));

基本的に、未使用で参照されないBoxLayoutの新しいインスタンスを作成しています。

于 2011-10-03T20:34:42.913 に答える