Подтвердить что ты не робот

Как добавить пространство между двумя кнопками в 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());
4b9b3361

Ответ 1

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

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

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

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


ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ, от размещения пространства между компонентами,

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

  • Менеджер по расположению

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

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

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

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

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