У меня есть controlPanel
(BoxLayout
):Вложенные схемы - FlowLayout внутри BoxLayout
controlPanel.setLayout(new BoxLayout(controlPanel, BoxLayout.Y_AXIS));
Теперь я строю два FlowLayout
и добавить их к contolPanel
панели:
JPanel fromDatePanel = new JPanel(new FlowLayout());
JPanel untilDatePanel = new JPanel(new FlowLayout());
fromDatePanel.add(new JLabel("From - "));
fromDatePanel.add(new JButton("..."));
untilDatePanel.add(new JLabel("Until - "));
untilDatePanel.add(new JButton("..."));
controlPanel.add(fromDatePanel);
controlPanel.add(untilDatePanel);
я получаю это:
Почему это создает разрыв между макетами? Например, если я вставляю JButton
, он отлично работает (он вставляет их без зазора).
Как устранить разрыв между двумя FlowLayout
? (Таким образом, это будет похоже на синий зазор)
Если вы хотите сохранить 'BoxLayout' и избавиться от разрыва, переопределение' getMaximumSize() 'из 'JPanel' и возвращаем' getPreferredSize'. См. Мой ответ ниже. –
@GuillaumePolet Спасибо, это помогло! – Maroun