2
BorderLayoutにコンポーネントを追加するとき、コンパートメントのフルサイズを占めることは私の理解であった。これは、contentPaneの北にpanel1を追加すると、以下のようになります。しかし、panel2をpanel3の北に配置し、panel3をcontentPaneの中心に追加すると、panel2はできるだけ最小限のスペースを占めるように見えます。Java - BorderLayout - コンポーネントが全幅を占有する必要がありますか?
これらのサイズの違いは何ですか?
public class BorderLayoutTesting {
public static void main (String[] args) {
JFrame frame = new JFrame();
JPanel panel1 = new JPanel();
panel1.setLayout(new BorderLayout());
panel1.add(new JLabel("name:"), BorderLayout.WEST);
panel1.add(new JTextField(), BorderLayout.CENTER);
JPanel panel2 = new JPanel();
panel2.setBorder(BorderFactory.createLineBorder(Color.black));
panel2.setLayout(new BorderLayout());
panel2.add(new JLabel("your full address with postcode:"), BorderLayout.WEST);
panel2.add(new JTextField(), BorderLayout.CENTER);
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
container.add(panel1, BorderLayout.NORTH);
JPanel panel3 = new JPanel();
panel3.add(panel2, BorderLayout.NORTH);
container.add(panel3, BorderLayout.CENTER);
panel3.setBorder(BorderFactory.createLineBorder(Color.black));
frame.setSize(500,500);
frame.setVisible(true);
}
}
Ooops、BorderLayoutを設定するのを忘れました。ありがとうございました。 – Tim