Я хочу, чтобы JButton заполнял родительский макет, как JTextField. Так какое свойство им управляло?
BoxLayout
учитывает «максимальный размер» компонента.
Максимальный размер кнопки равен ее «предпочтительному размеру», поэтому, если вы хотите, чтобы кнопка увеличивалась, вам необходимо переопределить метод кнопки getMaximumSize()
для возврата размера, по крайней мере, размера вашего фрейма.
Или, как указано в комментариях, вы можете использовать:
- a
GridLayout
, чтобы все компоненты были одинакового размера
- a
GridBagLayout
, чтобы позволить компонентам расти по мере необходимости.
Прочтите раздел из учебника по Swing по Использование менеджеров по раскладке для получения дополнительной информации по вышеупомянутому.