例えば、
JPanel base = new JPanel(); JPanel sub = new JPanel(); JTextField text = new JTextField("hoge"); text.setAlignement(JCompornent.BOTTOM_ARLIGNEMENT); sub.add(text); sub.setAlignement(JCompornent.BOTTOM_ARLIGNEMENT); base.add(sub);
なんてやるとき、どうにもそのコンポーネントがウィンドウの下の方に表示されない。BoxlayoutやらSpringLayoutをつかっても無駄。理由は単純で、JPanelが最大値を取ってしまって、気の向くままに拡大しちゃうから。
こういうとき、BorderLayoutが実はきいたりするみたい。上記を
JPanel base = new JPanel(new BorderLayout()); JPanel sub = new JPanel(); JTextField text = new JTextField("hoge"); sub.add(text); base.add(sub, BorderLayout.SOUTH);
とかやると、JPanelのPrefferredSizeを設定しなくともWindowに合わせて下に寄ってくれる。