![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Занес данный раздел в FAQ а потом решил, что здесь быстрее наткнутся.
Чаще всего люди спрашивают следующее: "У меня компонент рисует нечто на своей поверхности и хотелось бы запомнить данное изображение в файл или еще куда-нибудь". Таких вопросов появляется немало и найдя вариант решения подобной задачи захотелось поделиться. Основная идея в следующем: - создать BufferedImage - получить от него его Graphics - передать данный Graphics в компонент в качестве параметра к методу paint Ниже приведен код, который рисует на панели несложную картинку и при нажатии кнопки записывает изображение в файл. Важно: В процессе экспериментов оказалось, что если Вы хотите что-то нарисовать на "скрытом" компоненте (например вы создали эту самую панель, но показывать ее не хотите, то надо вызывать setBounds для данного компонента и тогда все получится. Код приведен ниже. Enjoy
|
|||
|
||||
| Vofka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 21.6.2006 Репутация: нет Всего: 1 |
А почему именно setBounds помоему можно просто сделать revalidate компонента и тогда он перерисуется или я не прав?
|
|||
|
||||
| AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Так размеры будут установлены только либо руками (setBounds), либо в случае реально прорисовки компонента. Может быть ситуация, когда компонент вообще не будет показан - его даже на форму не положат, т.к. даже формы нет (это в случае серверного приложения вполне может быть). И тогда размеров у него не будет (точнее они будут 0 х 0). Вот пример:
|
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |