introduction jfc
Този урок разглежда основите на програмирането на GUI (графичен потребителски интерфейс) и Java Foundation Classes или JFC в Java:
В предишните ни уроци сме обхващали теми, вариращи от основите на подобни на Java типове данни, променливи, вземане на решения и конструкции на цикли и т.н. до масиви, колекции и методи в Java.
Също така обсъдихме концепцията за многопоточност и изключения. След това научихме поддръжката на Java OOPS. Използвайки всички тези концепции, можем да разработим приложения на високо ниво в Java, които са многократно използваеми и стабилни, както и самостоятелни.
=> Проверете тук, за да видите A-Z на уроци за обучение по Java.
В този урок ще започнем дискусията си за графичното развитие на приложения в Java. Както всички други концепции, Java предлага многобройни графични класове за многократна употреба и APIS, за да можем да разработим нашия графичен потребителски интерфейс (GUI).
Какво ще научите:
Какво е графичен потребителски интерфейс в Java
Графичният потребителски интерфейс или просто наречен „GUI“ е общ термин, използван в света на софтуера. GUI представлява приложение, което има визуален дисплей за потребителя с лесни за използване контроли. GUI обикновено се състои от графични компоненти като прозорци, рамки, бутони, етикети и т.н.
Можем да използваме тези компоненти за взаимодействие със системата или дори с външния свят. Java предоставя много API и многократно използвани класове, с помощта на които можем да разработваме GUI приложения. Един от най-старите комплекти, предоставени от Java, е ‘Abstract Windowing ToolKit” или AWT. Всички по-нови API или компоненти като Swing; JavaFX и др. Се основават на този AWT.
Конзолните програми, които сме написали досега, са също толкова важни, но трябва да знаем, че всички най-нови съвременни приложения за настолни компютри са активирани графично. Това означава, че те имат готов за използване GUI, което улеснява крайния потребител да използва приложението с едно щракване на мишката.
Имайте предвид, че писането на GUI не е толкова лесно, колкото рисуването на някои форми или включването на изображения. GUI съдържа последователност от дейности, които също задействат някои събития, които от своя страна изпълняват някои действия при извикване на компонент или част от компонент, като чрез щракване върху бутон задействаме някои действия.
Така че GUI приложението е рамка, състояща се от графични компоненти и събития, които могат да бъдат задействани върху тези компоненти и действията, които се изпълняват в резултат на задействане на събития.
Рамките обикновено предоставят предварително компилирани класове и компоненти за многократна употреба, които можем да плъзгаме и пускаме в областта за рисуване и след това да свързваме събитията и действията с тези компоненти.
Java предоставя следните основни рамки.
Java предоставя следните рамки за програмиране на GUI:
- Абстрактни инструменти за прозорци: Това е най-старата рамка в Java и за първи път е представена в JDK 1.0. Повечето от компонентите на AWT вече са остарели и са заменени от люлеещи се компоненти на Java.
- API на Swing: Това е набор от графични библиотеки, разработени върху AWT рамката и е част от Java Foundation Classes (JFC). Swing има модулна архитектура, в която можем да използваме plug-and-play за компонентите.
- JavaFX: Най-новата рамка е достъпна от Java 8 нататък.
Има различни графични рамки на трети страни като Eclipse's Standard Widget Toolkit (SWT) или Google Web Toolkit (GWT), използвани за Android.
Основни класове на Java (JFC)
Java предоставя набор от функции и функционалност за разработване на графични потребителски интерфейси или GUI. Този набор от функции е известен като Java Foundation Classes или JFC.
Използвайки JFC, можем да добавим богата графична функционалност към приложенията и да ги направим по-интерактивни. JFC съдържа набор от графични компоненти, които могат лесно да бъдат включени в нашето приложение и програмирани според нашите изисквания. Но програмирането на тези компоненти обикновено отнема само няколко реда код.
JFC съдържа класове от пакети java.awt и javax.swing. Освен тях, той също така съдържа класове, свързани с Java 3D, Java 2D, Java Accessibility и др. JFC е в синхрон с Java обектния и компонентния модел и по този начин е лесен за използване.
Следващата диаграма обобщава различни компоненти в JFC.
Както е показано по-горе, JFC съдържа AWT, както и класове Swing. Ще обсъдим всеки от тях, докато продължаваме с уроците по Java AWT и Java Swing. JFC предлага и различни методи, които можем да използваме в рамките на нашето приложение.
Някои от често използваните методи са:
Метод | Описание |
---|---|
публично добавяне на невалидни (компонент в) | Добавя компонент към родителския компонент, извикващ метода. |
public void setSize (int width, int height) | Задава размера на компонент с определена ширина и височина. |
public void setLayout (LayoutManager m) | Задайте посочения мениджър на оформление за този компонент. |
public void setVisible (boolean b) | Задайте видимост на компонента според булевата стойност. По подразбиране видимостта е фалшива. |
Сега да преминем към обсъждане на компонентите на GUI на общо ниво. След това в следващите ни уроци ще обсъдим специално пакетите AWTand Swing и техните компоненти.
Компоненти на прозореца
Знаем, че родителският контейнер на всяко GUI приложение е прозорец, който може да съдържа един или повече кадри.
GUI обикновено включва елементи на потребителския интерфейс или елементите, които се показват като част от GUI в приложението.
Тези компоненти на прозореца са както следва:
- Информационни елементи: Елементите или компонентите, които ни предоставят информация като етикети, икони, банери или диалогови прозорци за съобщения.
- Входни контроли: Текстовите полета, бутони, падащи списъци, квадратчета за отметка, радиобутони и т.н. са контролите за въвеждане, които ни позволяват да четем данни от потребителя.
- Навигационни компоненти: Компоненти като менюто, страничните ленти, галета и др. Ни помагат да се придвижваме през приложението.
Нека сега опишем някои важни компоненти в GUI.
Рамка в Java
Рамката е графичен прозорец, видим на екрана. Рамката може да се разглежда като компонент, но тъй като тя образува физически прозорец, който можем да видим на екрана, той се третира по различен начин от останалите компоненти. Рамката може да има и други графични компоненти като бутони, текстови полета и др., Както и панели.
Рамките също имат методи, които не се поддържат от други компоненти. “Java.awt.Frame” представлява клас в AWT, докато JFrame е класът, съдържащ се в пакета Java Swing, който представлява Frame.
Така че всяко GUI приложение ще започне с конструиране на JFrame обект, който формира основния прозорец. След като обектът JFrame бъде създаден, можем да зададем неговото видимо свойство на true, като извикаме setVisible (‘true’). След това можем да плъзгаме и пускаме останалите компоненти в тази рамка.
Всички GUI компоненти, включително фреймовете, имат някои общи свойства, тъй като те са част от обща йерархия на наследяване, показана по-горе. Така че можем да кажем, че в пакета Java Swing има мощен случай на споделяне на код.
Следващата фигура показва типичен прозорец на рамката в GUI редактора.
Както виждаме от горната фигура, най-външният прозорец в редактора на дизайна (маркиран с по-малка червена стрелка) е рамката. Вътре в тази рамка имаме различни други компоненти или дъщерни компоненти на рамката.
Това е видно от панела отляво, който показва дървесна структура на компонентите. Както е отбелязано с по-голяма червена стрелка, JFrame е основният компонент и тогава всички останали компоненти са негови дъщерни компоненти.
JPanel в Java
Контейнерът JPanel е част от пакета Swing в Java. JPanel съхранява група компоненти. JPanel организира компонентите, използвайки оформлението, зададено от него. Различни оформления могат да помогнат на JPanel да организира по-добре компонентите.
JPanel се счита за основен градивен елемент за оформление на компоненти в рамка или вътре в други панели. GUI приложението обикновено има Frame като основен прозорец и един или повече панели вътре в него, за да държи и организира различни компоненти.
Следващото изображение показва прост пример за панел вътре в рамка.
най-доброто мобилно шпионско приложение за android
Както е показано по-горе, контейнер на панел е вграден в контейнер на прозорец на рамка. Можем да имаме един или повече панели или дори панел вътре в панел. След това можем да приложим всеки панел за оформление към панела, който ще организира компонентите или елементите вътре в панела. Мениджърът на оформлението по подразбиране за JPanel е „FlowLayout“.
GUI оформления в Java
Java контейнерът използва автоматично оформление на компонентите на екрана. Но за размера и позициите на компонентите се грижи „мениджърът на оформлението“. Мениджърът на оформлението е зададен за контейнер по време на проектиране. Може да се променя и динамично.
Общите оформления, използвани в Java GUI, са:
# 1) BorderLayout
Оформлението на границите разделя компонента на 5 области, както е показано по-долу.
От тях 4 области, а именно „Север“, „Юг“, „Изток“ и „Запад“, не могат да се променят. Областта „Център“ може да се преоразмерява. Имайте предвид, че всяка област има ограничение само за един компонент и панелите могат да се използват за съхранение на множество компоненти.
# 2) FlowLayout: Това оформление се използва за съхранение на множество компоненти. Множество компоненти са разположени хоризонтално и те се увиват, ако ширината на контейнера е изчерпана. Също така компонентите се показват в ред отляво надясно.
# 3) BoxLayout: Използвайки оформлението на кутията, компонентите са подредени вертикално или хоризонтално. Тази подредба на оформлението на кутията е независима от размера на контейнера. Компонентите в контейнера са настроени така, че да запълват контейнера и да имат идентични размери.
Това бяха някои от важните и общи компоненти, които имаме в разработката на графичен интерфейс. В следващите ни уроци за AWT и Swing ще разгледаме подробностите за другите компоненти, предоставени от тези пакети.
често задавани въпроси
В # 1) Какво е GUI програмиране?
Отговор: Програмите, разработени с помощта на графични компоненти, които взаимодействат с компютъра с помощта на посочващото устройство и се управлява от събития, т.е.изпълнява някои действия, когато се задействат определени събития, и се нарича GUI програмиране.
GUI програмирането използва GUI рамки, в които можем директно да включим и използваме графични компоненти.
В # 2) Какъв GUI да използвам с Java?
Отговор: Java поддържа някои от най-добрите рамки, които можем да използваме за разработване на GUI приложения, както е показано по-долу:
- JavaFX.
- Swing GUI Java.
- AWT: Абстрактни инструменти за прозорци.
- SWT - стандартен набор от инструменти за джаджи.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
В # 3) Какви са предимствата на GUI?
Отговор: Програмата GUI прави приложенията интерактивни, интуитивни и по-лесни за използване и учене. Тъй като те предоставят на потребителя графични изображения, действията имат по-голям ефект и по този начин получаваме незабавна визуална обратна връзка за приложението.
В # 4) Какво представлява JavaFX API?
Отговор: JavaFX е най-новата библиотека на Java, написана в родния Java код и съдържа класове и интерфейси. JavaFX може да се използва за проектиране на GUI приложения в версии на Java по-късно от Java 8.
В # 5) Добра ли е Java за GUI?
как да играя mkv файл на компютър
Отговор: Въпреки че Java има повече инструменти за разработване на GUI приложения, заедно с най-добрата поддръжка, тя не е толкова бърза и толкова ефективна, колкото MFC библиотеката на C ++, която има почти всички функции за разработване на усъвършенствани GUI приложения.
Заключение
В този урок проучихме програмирането на GUI в Java. Представихме някои от важните концепции за програмиране на GUI в Java и също така видяхме преглед на GUI рамките, поддържани от Java. Обсъдихме общия преглед на JFC библиотеката.
=> Проверете ВСИЧКИ уроци за Java тук.
Препоръчително четене
- Въведение в езика за програмиране на Java - видео урок
- OOP Java: Въведение в обектно-ориентираното програмиране в Java
- Урок за Java Float с примери за програмиране
- Java Double - Урок с примери за програмиране
- Java SWING Урок: Контейнер, компоненти и обработка на събития
- Java Reverse String: Урок с примери за програмиране
- Java компоненти: Java платформа, JDK, JRE и Java виртуална машина
- Java String compareTo метод с примери за програмиране