Как добавить горизонтальный разрыв с помощью JLabel
Вопрос
У меня есть JLabel (на самом деле это JXLabel).
Я поместил на него значок и текст.
<icon><text>
Теперь я хочу добавить немного пробелов с левой стороны компонента, вот так:
<space><icon><text>
Я НЕ принимаю предложения переместить JLabel или добавить интервал путем изменения изображения.
Я просто хочу знать, как это сделать с помощью простого Java-кода.
Решение
Я нашел решение!
setBorder(new EmptyBorder(0,10,0,0));
Всем спасибо!
Другие советы
Вот так:не очень понятно, но можно добавить интервал, добавив к метке прозрачную рамку определенной ширины
Если вы пытаетесь прижать этикетку к одной стороне контейнера, вы можете добавить клей.Что-то вроде этого:
JPanel panel = new JPanel();
panel.setLayoutManager(new BoxLayout(panel, BoxLayout.LINE_AXIS);
panel.add(new JLabel("this is your label with it's image and text"));
panel.add(Box.createHorizontalGlue());
Хотя ваш вопрос не очень ясен.
Вам не нужно изменять предпочтительный размер JLabel, вы можете использовать СеткаМешокМакет Чтобы указать разделение между компонентами, вам нужно всего лишь использовать GridBagLayout в контейнере и добавить к нему JXLabel с помощью GridBagОграничения объект, определяющий вставки слева:
JPanel panel=new JPanel(new GridBagLayout());
JLabel label=new JLabel("xxxxx");
GridBagConstraints constraints=new GridBagConstraints();
constraints.insest.left=X; // X= number of pixels of separation from the left component
panel.add(label,constraints);
Обратите внимание, что я опустил множество свойств конфигурации при настройке ограничений, вам лучше прочитать документацию СеткаМешокМакет