2015-11-17 2 views
0

Я попытался использовать Jlabel. Я установил макет в нуль и поместил фоновое изображение, но он работает, но всякий раз, когда я пытаюсь запустить его не полный размер, как я могу это исправить? Это окно вывода показало бы это.Как вставить фон в NetBeans 8.1

Я бы еще расширить окно:

http://i.stack.imgur.com/3IlKV.png

Имеет серую шкалу

http://i.stack.imgur.com/H1dSI.png

может кто-нибудь помочь мне.

+0

Это могло бы помочь? http://stackoverflow.com/questions/23322564/how-to-make-the-image-scale-its-size-automatically-according-to-the-parent-jlabe – sean

ответ

0

Я установил расположение обнулить

Не используйте нулевой макет на раме. Метод pack() будет работать только тогда, когда панели используют менеджеров компоновки.

Имеет Град.серого

JLabel только раскрасит изображение в натуральную величину.

Если вы хотите, чтобы изображение масштабировалось, вам необходимо сделать обычную роспись.

Один из способов сделать это, чтобы переопределить paintComponent() метод в JPanel, чем вы рисуете изображение вручную с помощью:

Dimension d = getSize(); 
g.drawImage(image, 0, 0, d.width, d.height, this); 

Затем вы можете настроить расположение, чтобы все, что вы хотите и добавления компонентов к панели.

Или вы можете использовать Background Panel, который сделает это за вас. Он также позволяет изобразить изображение

Другой вариант - использовать Darryl's Stretch Icon. Это позволит значку заполнить пространство метки.