Я пытаюсь создать несколько JLabels для использования в качестве кнопок внутри BoxLayout, уложенных друг на друга. Макет отлично, но я обнаружил, что я не могу изменять размеры меток до размеров, которые я хочу. Я использую следующий код, чтобы размер их:Невозможно изменить размер JLabels в BoxLayout
JLabel fileAddBtn = new JLabel("Add File", SwingConstants.CENTER);
fileAddBtn.setBorder(BorderFactory.createLineBorder(Color.black));
fileAddBtn.setMaximumSize(new Dimension(Integer.MAX_VALUE, fileAddBtn.getMinimumSize().height));
и
JLabel fileRemBtn = new JLabel("Remove File", SwingConstants.CENTER);
fileRemBtn.setBorder(BorderFactory.createLineBorder(Color.black));
fileRemBtn.setMaximumSize(new Dimension(Integer.MAX_VALUE, fileRemBtn.getMinimumSize().height));
В настоящее время у меня есть две метки, при этом один длиннее другого. Они оба берут ширину более длинной метки, что хорошо, но метки обнимают края текста прямо до ближайшего пикселя. Есть ли способ сделать этикетки немного больше, чтобы вокруг ярлыков была граница? Я пробовал использовать setSize()
, но это не требуется. Я также добавил прямые значения в вышеприведенный код, но он тоже не изменил их. Я попытался добавить вокруг них EmptyBorder()
, который работал для калибровки, но он спрятал мою границу линии, которая их окружает. Есть предположения?
Вы можете показать изображение вашего приложения – afzalex