Я установил расположение обнулить
Не используйте нулевой макет на раме. Метод pack() будет работать только тогда, когда панели используют менеджеров компоновки.
Имеет Град.серого
JLabel только раскрасит изображение в натуральную величину.
Если вы хотите, чтобы изображение масштабировалось, вам необходимо сделать обычную роспись.
Один из способов сделать это, чтобы переопределить paintComponent()
метод в JPanel
, чем вы рисуете изображение вручную с помощью:
Dimension d = getSize();
g.drawImage(image, 0, 0, d.width, d.height, this);
Затем вы можете настроить расположение, чтобы все, что вы хотите и добавления компонентов к панели.
Или вы можете использовать Background Panel, который сделает это за вас. Он также позволяет изобразить изображение
Другой вариант - использовать Darryl's Stretch Icon. Это позволит значку заполнить пространство метки.
Это могло бы помочь? http://stackoverflow.com/questions/23322564/how-to-make-the-image-scale-its-size-automatically-according-to-the-parent-jlabe – sean