Если в BoxLayout и FlowLayout каждый компонент получает свой предпочтительный размер, почему при добавлении JTextField в JPanel с использованием BoxLayout растягивать его по вертикали, если это всего лишь «один слой»?
public void go() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JTextField field = new JTextField();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel.add(field);
frame.getContentPane().add(BorderLayout.EAST,panel);
frame.setSize(300,300);
frame.setVisible(true);
}
Ширина текстового поля в порядке, но почему он растягивается по вертикали, если он определенно не является предпочтительной высотой? Кнопки J ведут себя не так.