Обработка на изображения в Java GUI приложение - Образователни
- Въведение
- Създайте формуляр за кандидатстване
- Добавяне на пакет с изображения
- Показване на изображение върху етикет
- Изграждане и стартиране на приложението
- Показване на изображение като фон в рамка
- Създайте персонализиран код
- Заключение
- Допълнителна информация
Този урок изисква софтуера и ресурсите, изброени по-долу.
NetBeans IDE | Версия 6.9 или по-нова |
Java Development Kit (JDK) | Версия 6 или 7 |
За много начинаещи Java програмисти предизвикателството е да боравят с изображения в приложение. Обичайният начин за достъп до изображения в Java приложение е използването на метода getResource(). Този урок ви показва как да използвате GUI Builder на IDE, за да създадете код, който добавя изображения (и други ресурси) към вашето приложение. В допълнение, потребителят ще научи как да персонализира как IDE генерира код за обработка на изображения.
Полученото приложение от този урок ще бъде проста форма, съдържаща един етикет с едно изображение.
Създайте приложение
- Изберете „Файл“ > "Нов проект".
- В съветника за нов проект изберете „Java“ > „Приложение Java“, след което щракнете върху бутона „Напред“.
- За името на проекта въведете ImageDisplayApp.
- Премахнете отметката от „Създаване на основен клас“.
- Уверете се, че квадратчето „Задаване като основен проект“ е отметнато.
- Кликнете върху бутона "Край".
Създайте формуляр за кандидатстване
Примерът в този раздел ще създаде JFrame и ще добави JLabel към него.
Създаване на формуляр JFrame:
- В прозореца Проекти разгънете възела ImageDisplayApp.
- Щракнете с десния бутон върху възела Изходни файлове и изберете Нов формуляр > "jFrame".
- За името на класа въведете ImageDisplay.
- За името на пакета въведете org.me.myimageapp.
- Кликнете върху бутона "Край".
- В раздела Палитра изберете компонента Етикет и го плъзнете върху формуляра.
Формата трябва да изглежда така:
Добавяне на пакет с изображения
Ако вашето приложение използва изображения или други ресурси, обикновено трябва да изберете отделен Java пакет за тези ресурси. В локалната файлова система пакетът съответства на папка.
Създаване на пакет за изображение:
- В прозореца Проекти щракнете с десния бутон върху възела org.me.myimageapp и изберете Нов > „Java пакет“.
- В съветника за нов проект добавете .resources към името org.me.myimageapp; новият пакет ще бъде наречен org.me.myimageapp.resources.
- Кликнете върху бутона "Край".
В прозореца Проекти изображението се появява в пакета org.me.myimageapp.resources.
Показване на изображение като етикет
В това приложение изображението ще бъде вградено в компонента JLabel.
Добавяне на изображение към етикет:
Когато щракнете върху Напред, IDE ще извърши следните операции:
- Копиране на изображение в проект. В резултат на това, когато приложението е изградено и разпространено, това изображение се добавя към преразпределяемия JAR архив.
- Създаване на код, който реализира достъп до изображения вклас "ImageDisplay".
- Показване на изображение като етикет в режим на проектиране на формуляр.
Сега можете да извършите няколко действия, за да оптимизирате външния вид на формуляра, например:
- В прозореца Properties изберете свойството text и премахнете етикета jLabel1. Тази стойност е генерирана от GUI Builder като текст за показване на етикета. В този случай етикетът показва изображение вместо текст, така че не е необходим текст.
- Плъзнете бутона до центъра на формуляра.
Вижте генерирания код:
Основната линия изглежда така:
За да регистрирате манипулатори на събития на мишката в Jlabel:
Щракнете с десния бутон върху JLabel и изберете Събития > Мишка ("Мишка") > mouseClicked/mousePressed/mouseReleased от изскачащото меню. Ще бъде създаден манипулатор за съответното събитие.
Забележка:Можете да получите координатите на мишката (например местоположението на щракването на мишката) в манипулатор на събития, като използвате методите event.getPoint(), event.getX() и event.getY(). Вижте класа MouseEvent за подробности.
Показване на изображение като фон в рамка
GUI Builder не поддържа директно използването на JFrame като фоново изображение, тъй като такава поддръжка не е налична в Swing. Тази цел обаче може да бъде постигната по различни непреки начини. В това приложение изображението JLabel ще бъде вградено в компонента JFrame, докато JPanel ще бъде поставен над JLabel и използван като родител на всички компоненти.
Добавяне на прозрачен JPanel компонент към JFrame в изображение:
Предимството на описаното решение е, че фоновото изображение се показва както по времеразвитие, както и по време на изпълнение.
Изграждане и стартиране на приложението
В този момент, след като създадете кода, който осъществява достъп и показва изображението, можете да създадете и стартирате приложението и да проверите дали изображението е извикано правилно.
Първо трябва да посочите основния клас на проекта. Когато зададете основен клас, IDE получава информация за това кой клас да се изпълни, когато проектът стартира. Той също така гарантира, че елементът Main-Class е създаден в JAR на приложението, когато то е изградено.
За да присвоите основния клас на проекта, направете следното:
За да създадете проект:
- Изберете Изпълнение > Clean& Изграждане на основен проект
Прозорецът Файлове показва обектите, създадени при изграждането на приложението. Компилираният клас е в папката за изграждане. Папката dist съдържа изпълним JAR архив, съдържащ компилирания клас и изображение.
За да започнете проект, направете следното:
- Изберете Изпълнение > „Изпълни основен проект“ (F6).
Създайте персонализиран код
В много приложения изображението на дисплея не се определя статично, както в този пример. Например показаното изображение може да се определя от това, което потребителят е избрал.
Например, за да вмъкнете потребителски код в свойството на иконата на JLabel, направете следното:
- Изберете „JLabel“ в режим на проектиране или в прозореца „Инспектор“.
- В прозореца Свойства щракнете върху бутона с елипса (. ) до свойството Икона.
- От падащия списък в горната част на диалоговия прозорец изберете опцията Персонализиран код.
Заключение
Този урок описва как да получите достъп до изображения от приложение, създадено с NetBeans IDE. За повече информация относно работата с изображения вижте урока по Java.
Забележка:Примерът в този урок е много подобен на първия пример в урока за Java Използване на икони. Разликата е, че кодът, генериран от този урок, използва метода setIcon на елемента JLabel, за да вмъкне изображение в етикета. В примера с урока по Java икона се добавя към етикет, като се прекара през конструктора.