Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фоновая картинка на JPanel 
V
    Опции темы
freshAngel
  Дата 26.10.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Привет.
Хочу сделать JPanel с фоновой картинкой, делаю так:

Код

Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/bg.jpg"));
   
@Override
 public void paintComponent(Graphics g) {
        super.paintComponent(g); 
        g.drawImage(image, 0,0,this.getWidth(),500,this);
    }

Картинка прорисовывается, но только не в полную ширину и высоту.
Такое ощущение, что картинка фона  обрезана...
setSize() для панели с картинкой не помогает.
PM MAIL   Вверх
mgarin
Дата 27.10.2009, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 19.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 3



Код
ToolkitImage image = ( ToolkitImage ) Toolkit.getDefaultToolkit ().getImage (getClass().getResource("images/bg.jpg"));


И используй:

Код
g.drawImage ( image, 0, 0, image.getWidth (), image.getHeight (), null );


или (нарисует изображение с его исходным размером):

Код
g.drawImage ( image, 0, 0, null );

PM MAIL WWW ICQ   Вверх
freshAngel
  Дата 27.10.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Неа, не то.
Рисует так - же мелко и не на всю длину JPanel

Пробовал еще так:
Код

ImageIcon image = new ImageIcon(getClass().getResource("images/bg.jpg"));
@Override
 public void paintComponent(Graphics g) {
        super.paintComponent(g);
        image.paintIcon(this, g, 0, 0);
        //image.paintIcon(this, g, image.getIconWidth(), image.getIconHeight()); // Так тоже не работает :(
    }


Так - же рисуется не на всю панель  smile 

Это сообщение отредактировал(а) freshAngel - 27.10.2009, 20:01
PM MAIL   Вверх
mgarin
Дата 28.10.2009, 05:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 19.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 3



Вы в методе отрисовки отдаете изображению начальную координату и длину и высоту
для его расположения.
Положите туда длину и высоту вашей панели (если метод paintComponent содержится в вашей панели то просто getWidth() / getHeight())
и будет вам картинка растянутая ровно на размер панели.

Только учтите что при изменении размера панели она также будет сжиматься-растягиваться-плющиться и т.п.
Если таким образом ей размер задавать конечно

Или уточните что именно вам нужно?
В 1ый раз я так понял что вам нужен был исходный размер изображения
PM MAIL WWW ICQ   Вверх
freshAngel
  Дата 4.11.2009, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Цитата(mgarin @ 28.10.2009,  05:09)
Вы в методе отрисовки отдаете изображению начальную координату и длину и высоту
для его расположения.
Положите туда длину и высоту вашей панели (если метод paintComponent содержится в вашей панели то просто getWidth() / getHeight())
и будет вам картинка растянутая ровно на размер панели.

Только учтите что при изменении размера панели она также будет сжиматься-растягиваться-плющиться и т.п.
Если таким образом ей размер задавать конечно

Или уточните что именно вам нужно?
В 1ый раз я так понял что вам нужен был исходный размер изображения

Спасибо.
И ведь работает!
PM MAIL   Вверх
leskar
Дата 14.11.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 23.4.2008

Репутация: нет
Всего: нет



Можете еще MediaTracker прикрутить, если еще не сделали.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0750 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.