![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
batigoal |
|
||||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Добавление картинки на JFrame. Задача программиста заключается не только в создании эффективной, но и элегантной и понятной пользователю программы. Не мало важную роль при этом несет графический интерфейс. Не для кого не секрет, что человек усваивает графическую информацию быстрее чем текстовую. Рисунки на форме помогают украсить интерфейс программы. А также сделать его более понятным. Данная статья посвящена добавлению рисунков на фрёйм с компонентами. Способ 1. Добавление картинки с использованием JLabel. Это вероятно самый простой способ, но в тоже время не самый гибкий, поскольку все управление за отображение рисунком возлагается на плечи JLabel. Чтобы добавить рисунок на JLabel существуют следующие методы. setIcon(Icon image); Конструкторы JLabel(Icon image); JLabel(Icon image, int horizontalAlignment); JLabel(String text, Icon icon, int horizontalAlignment); здесь: Icon image - добавляемая картинка. Она может быть без труда создана например след. образом: new javax.swing.ImageIcon("C:\\Documents and Settings\\All Users\\Документы\\Мои рисунки\\Образцы рисунков\\Водяные лилии.jpg"); String text - текст метки. int horizontalAlignment - тип горизонтального выравнивания. Может принимать след. значения: javax.swing.SwingConstants.CENTER - по центру, javax.swing.SwingConstants.LEFT - по левому краю, javax.swing.SwingConstants.RIGHT - по правому краю. Плюсом данного способа является возможность добавть текстомый коментарий к рисунку, минусом - отстутствие управления размерами рикунка. Пример использования:
Способ 2. Создание JPanel c возможностью добавления картинки в качестве фона. Этот способ более гибкий, и практически ограничивается только нашей фантазией. Он заключается в том, что мы напишем подкласс для класса JPanel и переопределим его метод public void paint(Graphics g). Реализация нашего метода будет производить прорисовку картинки на панели. Более того, мы будем управлять размерами изображения, и подстраивать (вписывать) его под размеры JPanel. Но и это еще не все: Мы оставим возможность добавления дочерних компонентов на эту панель, и у нас получится что-то компоненты размещаются на "красивом" фоне. Вот пример такой панели:
А вот пример её использования:
Надеюсь что данная статья будет Вам полезна. На все вопросы постараюсь ответить. С Уважением MoonCat. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||||
|
|||||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15717 Регистрация: 24.3.2004 Где: Dublin Репутация: 209 Всего: 537 |
Спасибо SoulKeeper за дополнение.
В результате тестов с использованием картинки размером 1024x768 и увеличении панели до 10000x10000 панелька №2 требовала не много не мало, 438 мб памяти ![]() В результате, как всегда, все оказалось проще простого ![]() Панелька:
Тест панельки:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |