Как добавить горизонтальный разрыв с помощью JLabel

StackOverflow https://stackoverflow.com/questions/156975

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть 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);

Обратите внимание, что я опустил множество свойств конфигурации при настройке ограничений, вам лучше прочитать документацию СеткаМешокМакет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top