#java #swing #user-interface #jpanel
#java #swing #пользовательский интерфейс #jpanel
Вопрос:
У меня есть произвольное количество JPanels, создаваемых на основе пользовательского ввода (например, 1-8 панелей). Прямо сейчас я помещаю все панели в большую панель, используя FlowLayout, а затем добавляю эту панель в мое главное окно, которое использует BoxLayout. Я хочу, чтобы панели соответствовали ширине главного окна, но прямо сейчас они очень маленькие. Должен ли я использовать другой макет или есть способ сделать это?
Ответ №1:
Вы должны выбрать GridLayout
или GridBagLayout
.
Ответ №2:
Да, вам следует использовать другой менеджер компоновки. Используйте BorderLayout (руководство здесь), которое растягивает все содержимое так, чтобы оно соответствовало размеру контейнера.
Кроме того, BorderLayout не допускает более одного компонента в каждой области, поэтому вам понадобится еще одна подпанель для размещения ваших панелей. Не используйте FlowLayout для этой подпанели, так как она не будет иметь того поведения, которое вы ищете.