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