#java #swing #jpanel #margins
#java #swing #jpanel #поля
Вопрос:
Каков метод установки горизонтальных и вертикальных полей на панели? (То же самое мы имеем в html style="margins:30px"
)
Комментарии:
1. Как упоминали другие, вам следует просто использовать границу (для этого в Swing есть класс EmptyBorder). Однако я бы не рекомендовал жестко кодировать размер полей на панели, особенно с использованием пикселей (размер которых может сильно меняться в зависимости от разрешения мониторов). Предпочтительнее использовать javax.swing. LayoutStyle для вычисления правильных полей. Или, что еще лучше, используйте LayoutManager, который сделает это за вас.
Ответ №1:
setBorder(BorderFactory.createEmptyBorder(int top, int left, int bottom, int right));
И для получения более подробной информации вы можете прочитать документацию о BorderFactory
Комментарии:
1. Почему вы отметили свой собственный ответ как «правильный», когда kleopatra предоставила ответ более 2 дней назад?
2. @ Andrew Thompson это был лучший ответ, который я нашел за последнее время, поэтому я обновил ответы
Ответ №2:
Не знаю html, поэтому просто гадаю о возможных эквивалентах 🙂
- чтобы установить некоторый пробел между ограничивающим прямоугольником компонента и его содержимым, устанавливаемым свойством является его граница
- расстояние между различными компонентами в контейнере контролируется LayoutManager (уже упоминавшимся). Зависит от конкретной реализации, насколько тонко это настраивается
Ответ №3:
Используйте BorderLayout для вашей JPanel.
Ответ №4:
Это сильно зависит от типа используемой вами панели. Если это относится к swing, вы могли бы поместить в него Gridbaglayout и указать вставки, как в этом примере
Ответ №5:
для создания базового «разрыва» между J-компонентами с помощью LayoutManagers, размещающих компоненты внутри контейнера
BorderLayout (int horizontalGap, int verticalGap)
GridLayout (int rows, int cols, int hgap, int vgap)
для наиболее сложного графического интерфейса вам необходимо
1 / многократно воспроизводимые JPanels (также с разным LayoutManager для каждой JPanel)
2 / с помощью того, как использовать GridBagLayout (путем умножения JPanels с разными LayoutManegars для каждой JPanel …)
3/ используйте какой-нибудь пользовательский LayoutManager