introduction jfc
Tento kurz pojednává o základech programování grafického uživatelského rozhraní (Graphical User Interface) a tříd Java Foundation Classes nebo JFC v Javě:
V našich předchozích cvičeních jsme probrali témata od základů datových typů podobných Java, proměnných, rozhodování a smyčkových konstrukcí atd. Až po pole, kolekce a metody v Javě.
Také jsme diskutovali o konceptu multithreadingu a výjimkách. Poté jsme se naučili podporu Java OOPS. S využitím všech těchto konceptů můžeme v Javě vyvinout aplikace na vysoké úrovni, které jsou opakovaně použitelné a robustní i samostatné.
=> Chcete-li zobrazit A-Z výukových kurzů Java, podívejte se sem.
V tomto tutoriálu začneme naši diskusi o grafickém vývoji aplikací v Javě. Stejně jako všechny ostatní koncepty poskytuje Java řadu opakovaně použitelných grafických tříd a APIS, abychom mohli vyvíjet naše grafické uživatelské rozhraní (GUI).
Co se naučíte:
Co je grafické uživatelské rozhraní v Javě
Grafické uživatelské rozhraní nebo jednoduše „GUI“ je obecný termín používaný ve světě softwaru. GUI představuje aplikaci, která má vizuální zobrazení pro uživatele se snadno použitelnými ovládacími prvky. GUI se obvykle skládá z grafických komponent, jako jsou okna, rámečky, tlačítka, štítky atd.
Tyto komponenty můžeme použít k interakci se systémem nebo dokonce s vnějším světem. Java poskytuje mnoho API a opakovaně použitelných tříd, pomocí kterých můžeme vyvíjet aplikace GUI. Jednou z nejstarších sad poskytovaných prostředím Java je „Abstract Windowing ToolKit“ nebo AWT. Všechny novější API nebo komponenty jako Swing; JavaFX atd. Jsou založeny na tomto AWT.
Stejně důležité jsou i konzolové programy, které jsme doposud napsali, ale měli bychom vědět, že všechny nejnovější moderní desktopové aplikace jsou graficky povoleny. To znamená, že mají připravené grafické uživatelské rozhraní, které koncovému uživateli usnadňuje používání aplikace kliknutím myši.
Pamatujte, že psaní grafického uživatelského rozhraní není tak snadné jako kreslení některých tvarů nebo vkládání obrázků. GUI obsahuje posloupnost aktivit, které také spouštějí některé události, které zase provádějí některé akce při vyvolání komponenty nebo části komponenty, například kliknutím na tlačítko spustíme některé akce.
Aplikace GUI je tedy rámec skládající se z grafických komponent a událostí, které lze na těchto komponentách spouštět, a akcí, které se provádějí v důsledku spouštění událostí.
Rámečky obvykle poskytují předkompilované opakovaně použitelné třídy a komponenty, které můžeme přetáhnout do oblasti kreslení a poté přidružit události a akce k těmto komponentám.
Java poskytuje následující hlavní rámce.
Java poskytuje následující rámce pro programování GUI:
- Sada nástrojů pro abstraktní okna: Toto je nejstarší framework v Javě a byl poprvé představen v JDK 1.0. Většina komponent AWT je nyní zastaralá a je nahrazena komponentami Java swing.
- Swing API: Toto je sada grafických knihoven vyvinutých nad rámec AWT a je součástí Java Foundation Classes (JFC). Swing má modulární architekturu, kde můžeme pro komponenty použít plug-and-play.
- JavaFX: Nejnovější rozhraní je k dispozici od prostředí Java 8 a dále.
V systému Android se používají různé grafické rámce třetích stran, například Eclipse's Standard Widget Toolkit (SWT) nebo Google Web Toolkit (GWT).
Java Foundation Classes (JFC)
Java poskytuje sadu funkcí a funkcí pro vývoj grafických uživatelských rozhraní nebo grafických uživatelských rozhraní. Tato sada funkcí je známá jako Java Foundation Classes nebo JFC.
jak používat příkaz grep v unixu
Pomocí JFC můžeme aplikacím přidat bohatou grafickou funkcionalitu a také je učinit interaktivnějšími. JFC obsahuje sadu grafických komponent, které lze snadno zapojit do naší aplikace a naprogramovat podle našich požadavků. Programování těchto komponent ale obvykle trvá jen několik řádků kódu.
JFC obsahuje třídy z balíčků java.awt a javax.swing. Kromě toho obsahuje také třídy související s Java 3D, Java 2D, Java Accessibility atd. JFC je synchronizován s modelem objektů a komponent Java a je tedy snadno použitelný.
Následující diagram shrnuje různé komponenty v JFC.
Jak je uvedeno výše, JFC obsahuje třídy AWT i Swing. O každém z nich budeme diskutovat, jak budeme pokračovat v tutoriálech Java AWT a Java Swing. JFC také poskytuje různé metody, které můžeme v rámci naší aplikace použít.
Mezi běžně používané metody patří:
Metoda | Popis |
---|---|
public void add (komponenta c) | Přidá komponentu do nadřazené komponenty vyvolávající metodu. |
public void setSize (int šířka, int výška) | Nastaví velikost komponenty se zadanou šířkou a výškou. |
public void setLayout (LayoutManager m) | Nastavte pro tuto komponentu určeného správce rozvržení. |
public void setVisible (boolean b) | Nastavte viditelnost komponenty podle booleovské hodnoty. Ve výchozím nastavení je viditelnost falešná. |
Nyní pojďme diskutovat o součástech grafického uživatelského rozhraní na obecné úrovni. Pak v našich následujících výukách budeme konkrétně diskutovat o balíčcích AWTand Swing a jejich komponentách.
Součásti okna
Víme, že nadřazeným kontejnerem jakékoli aplikace GUI je okno, které může obsahovat jeden nebo více rámců.
GUI obecně zahrnuje prvky uživatelského rozhraní nebo prvky, které se zobrazují jako součást GUI v aplikaci.
Tyto komponenty okna jsou následující:
- Informační prvky: Prvky nebo komponenty, které nám poskytují informace, jako jsou štítky, ikony, bannery nebo dialogová okna zpráv.
- Ovládací prvky vstupu: Textová pole, tlačítka, rozevírací seznamy, zaškrtávací políčka, přepínače atd. Jsou ovládací prvky vstupu, které nám umožňují číst data od uživatele.
- Navigační komponenty: S procházením aplikací nám pomáhají komponenty jako nabídka, postranní lišty, strouhanka atd.
Pojďme nyní popsat některé důležité komponenty v grafickém uživatelském rozhraní.
Rám v Javě
Rámeček je grafické okno viditelné na obrazovce. Na rám lze nahlížet jako na komponentu, ale protože tvoří fyzické okno, které vidíme na obrazovce, zachází se s ním jinak než s ostatními komponentami. Rámeček může mít i další grafické komponenty, jako jsou tlačítka, textová pole atd. A také panely.
Rámečky mají také metody, které jiné komponenty nepodporují. „Java.awt.Frame“ představuje třídu v AWT, zatímco JFrame je třída obsažená v balíčku Java Swing, která představuje Frame.
Jakákoli aplikace GUI tedy začne konstrukcí objektu JFrame, který tvoří hlavní okno. Jakmile je objekt JFrame vytvořen, můžeme nastavit jeho viditelnou vlastnost na true voláním setVisible („true“). Pak můžeme přetáhnout ostatní komponenty v tomto rámci.
Všechny komponenty grafického uživatelského rozhraní včetně rámců mají některé společné vlastnosti, protože jsou součástí společné hierarchie dědičnosti zobrazené výše. Můžeme tedy říci, že v balíčku Java Swing existuje silný případ sdílení kódu.
otázky a odpovědi na pohovor s testováním databáze
Následující obrázek ukazuje typické okno rámce v editoru grafického uživatelského rozhraní.
Jak vidíme z výše uvedeného obrázku, nejvzdálenějším oknem v editoru návrhů (označeným menší červenou šipkou) je rámeček. Uvnitř tohoto rámu máme různé další komponenty nebo podřízené komponenty rámu.
To je patrné z panelu na levé straně, který ukazuje stromovou strukturu komponent. Jak je označeno větší červenou šipkou, JFrame je kořenová komponenta a všechny ostatní komponenty jsou její podřízené komponenty.
JPanel v Javě
Kontejner JPanel je součástí balíčku Swing v Javě. JPanel ukládá skupinu komponent. JPanel uspořádal komponenty pomocí rozložení, které nastavil. Různá rozvržení mohou JPanelu pomoci lépe uspořádat komponenty.
JPanel je považován za základní stavební blok pro rozložení komponent v rámu nebo uvnitř jiných panelů. Aplikace GUI má obvykle rám jako hlavní okno a jeden nebo více panelů uvnitř, které drží a organizují různé komponenty.
Následující obrázek ukazuje jednoduchý příklad panelu uvnitř rámu.
Jak je znázorněno výše, kontejner Panel je vložen do kontejneru okna Frame. Můžeme mít jeden nebo více panelů nebo dokonce panel uvnitř panelu. Poté můžeme na panel použít libovolného správce rozvržení, který bude organizovat komponenty nebo prvky uvnitř panelu. Výchozí správce rozložení pro JPanel je „FlowLayout“.
Rozvržení GUI v Javě
Kontejner Java používá automatické rozložení komponent na obrazovce. O velikost a umístění komponent se ale stará ‚manažer rozvržení '. Správce rozložení je pro kontejner nastaven v době návrhu. Lze jej také dynamicky měnit.
Běžné rozložení používané v Java GUI jsou:
# 1) BorderLayout
Rozložení ohraničení rozděluje komponentu na 5 oblastí, jak je znázorněno níže.
Z těchto 4 oblastí, jmenovitě „sever“, „jih“, „východ“ a „západ“, nelze změnit velikost. V oblasti „Centrum“ lze měnit velikost. Pamatujte, že každá oblast má limit pouze na jednu komponentu a panely lze použít k uložení více komponent.
# 2) FlowLayout: Toto rozložení se používá k uložení více komponent. Více komponent je uspořádáno vodorovně a zalamují se, pokud je vyčerpána šířka kontejneru. Součásti se také zobrazují v pořadí zleva doprava.
# 3) BoxLayout: Pomocí rozložení pole jsou komponenty uspořádány svisle nebo vodorovně. Toto uspořádání rozvržení krabice je nezávislé na velikosti kontejneru. Komponenty v kontejneru jsou nastaveny tak, aby vyplňovaly kontejner a měly stejné velikosti.
To byly některé z důležitých a běžných komponent, které máme ve vývoji GUI. V našich dalších výukách o AWT a Swingu se podíváme na podrobnosti o dalších komponentách poskytovaných těmito balíčky.
Často kladené otázky
Otázka č. 1) Co je programování GUI?
Odpovědět: Programy vyvinuté pomocí grafických komponent, které interagují s počítačem pomocí ukazovacího zařízení a jsou řízeny událostmi, tj. Provádějí některé akce, když jsou spuštěny určité události, a nazývají se programováním GUI.
Programování GUI používá rámce GUI, kde můžeme přímo připojovat a používat grafické komponenty.
Otázka 2) Jaké grafické uživatelské rozhraní použít s Javou?
Odpověď: Java podporuje některé z nejlepších rámců, které můžeme použít k vývoji aplikací GUI, jak je uvedeno níže:
- JavaFX.
- Swing GUI Java.
- AWT: Sada nástrojů pro abstraktní okna.
- SWT - standardní sada nástrojů Widget.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
Otázka č. 3) Jaké jsou výhody grafického uživatelského rozhraní?
Odpovědět: Program GUI umožňuje aplikacím interaktivní, intuitivní a snadnější použití a učení. Protože poskytují uživateli grafické vizuály, akce mají větší účinek, a tak získáváme okamžitou vizuální zpětnou vazbu o aplikaci.
Otázka č. 4) Co je to JavaFX API?
Odpovědět: JavaFX je nejnovější knihovna Java napsaná v nativním kódu Java a obsahuje třídy a rozhraní. JavaFX lze použít k návrhu aplikací GUI ve verzích Java později než Java 8.
Otázka č. 5) Je Java dobrá pro GUI?
Odpovědět: Ačkoli Java má více nástrojů pro vývoj aplikací GUI spolu s nejlepší podporou, není tak rychlá a efektivní jako knihovna MFC v C ++, která má téměř všechny funkce pro vývoj pokročilých aplikací GUI.
Závěr
V tomto tutoriálu jsme prozkoumali programování GUI v Javě. Představili jsme některé důležité koncepty programování GUI v Javě a také jsme viděli přehled rámců GUI podporovaných Javou. Diskutovali jsme o přehledu knihovny JFC.
=> Zkontrolujte VŠECHNY výukové programy Java zde.
Doporučené čtení
- Úvod do programovacího jazyka Java - výukový program
- OOP Java: Úvod do objektově orientovaného programování v Javě
- Výukový program Java Float s příklady programování
- Výukový program Java s příklady programování
- Výukový program Java SWING: Kontejner, komponenty a zpracování událostí
- Reverzní řetězec Java: Výukový program s příklady programování
- Komponenty Java: Platforma Java, JDK, JRE a Java Virtual Machine
- Metoda Java String compareTo s příklady programování