Как добавить пробел между двумя кнопками в boxLayout?

у меня четыре кнопки в BoxLayout группы. Это всего лишь пример из двух, потому что все это повторяющийся код. Я хочу создать небольшое пространство между каждой кнопкой, чтобы они не сталкивались друг с другом. Я пробовал практически каждый метод в .add(Box.Create....) и ничего не получалось.

    enter.add(Box.createVerticalGlue());
    enter.add(Box.createHorizontalGlue()); 
    //enter.add(new JSeparator(SwingConstants.HORIZONTAL));
    JButton float = new JButton("LOWER");
    float.add(Box.createVerticalGlue());
    float.add(Box.createHorizontalGlue());

1 ответов


Если вы хотите иметь пространство между компонентами, вы можете добавить пустую границу к одному или обоим компонентам или вставить невидимые компоненты, чтобы обеспечить пространство. Невидимые компоненты можно создавать с помощью класса Box.

так как вы уже использовали клей без успеха (я сомневаюсь, почему?), вы можете попробовать что-то вроде жесткая площадью,

container.add(firstComponent);
container.add(Box.createRigidArea(new Dimension(5,0)));
container.add(secondComponent); 

посмотреть использование невидимых компонентов в качестве наполнителя что дает Вам большое варианты и объяснения.


дополнительная информация, от Размещение Пространства Между Компонентами,

три фактора влияют на объем пространства между видимыми компонентами в контейнере:

  • макет менеджер

    некоторые менеджеры компоновки автоматически помещают пространство между компонентами; другие-нет. Некоторые позволяют указать объем пространства между компонентами. См. страницу инструкции для каждого layout manager для получения информации о поддержке интервалов.

  • невидимые компоненты

    вы можете создавать легкие компоненты, которые не выполняют рисования, но которые могут занимать место в GUI. Часто вы используете невидимые компоненты в контейнерах, управляемых BoxLayout. См.как использовать BoxLayout для примеров использования невидимых компонентов.

  • пустые границы

    независимо от того, что менеджер макетов, вы можете повлиять на кажущийся объем пространства между компонентами, добавив пустые границы к компонентам. Лучшие кандидаты для пустых границ-это компоненты, которые обычно не имеют границ по умолчанию, такие как панели и метки. Некоторые другие компоненты могут плохо работать с границами в некоторых реализациях внешнего вида из-за того, как реализуется их код рисования. Сведения о границах см. В разделе как использовать границы .