#java #swing #jbutton
#java #качать #jbutton
Вопрос:
У меня есть Java Swing form и JLabel, подобные этому:
Что мне нужно сделать, это вставить пробел в начало JLabel:
Поэтому он не будет прилипать к линии границы.
Примечание 1: я уже использовал jLabName.setIconTextGap(35);
, но он сделал следующее:
Мне нужно вставить пробел перед значком, а не после него!
Примечание 2: Настройка границы и Тип и другие настройки:
Ответ №1:
Для этого вы можете использовать составные границы.
Например.
//get border of your component which is button as you say
Border border = myButton.getBorder();
//create a new empty border with name it margin
Border margin = new EmptyBorder(0,10,0,0); //top 0, left 10 , bottom 0, right 0
//now set compound border to your button(component), with margin
myButton.setBorder(new CompoundBorder(border, margin));
//NOTE: CompoundBorder accepts two borders as arguments, first one is inner border and last one is outer border
Комментарии:
1. (1 ) хорошее решение для JButton. Однако OP обновил вопрос, чтобы указать, что они действительно используют JLabel. Поскольку JLabel не имеет границы по умолчанию, нет необходимости в логике для получения исходной границы.
Ответ №2:
Исправлено с помощью следующего кода:
a1.setBorder(new CompoundBorder(new EtchedBorder(), BorderFactory.createEmptyBorder(1, 8, 1, 1)));