introduction jfc
Tento výukový program pojednáva o základoch programovania GUI (grafické používateľské rozhranie) a Java Foundation Classes alebo JFC v Jave:
V našich predchádzajúcich tutoriáloch sme sa venovali témam od základov dátových typov podobných Java, premenných, rozhodovania a slučkových konštrukcií atď., Po polia, kolekcie a metódy v Jave.
Diskutovali sme tiež o koncepcii multithreadingu a výnimkách. Potom sme sa naučili podporu Java OOPS. Pomocou všetkých týchto konceptov môžeme v Jave vyvíjať aplikácie na vysokej úrovni, ktoré sú opakovane použiteľné, robustné a zároveň samostatné.
=> Ak chcete vidieť A-Z výučbových kurzov Java, pozrite si tu.
V tomto tutoriále začneme našu diskusiu o grafickom vývoji aplikácií v Jave. Rovnako ako všetky ostatné koncepty, Java poskytuje množstvo opakovane použiteľných grafických tried a APIS, aby sme mohli rozvíjať naše grafické užívateľské rozhranie (GUI).
Čo sa dozviete:
Čo je grafické používateľské rozhranie v prostredí Java
Grafické užívateľské rozhranie alebo jednoducho nazývané „GUI“ je všeobecný pojem používaný v softvérovom svete. GUI predstavuje aplikáciu, ktorá má pre používateľa vizuálne zobrazenie s ľahko použiteľnými ovládacími prvkami. GUI sa obvykle skladá z grafických komponentov, ako sú okná, rámy, tlačidlá, štítky atď.
Tieto komponenty môžeme použiť na interakciu so systémom alebo dokonca s vonkajším svetom. Java poskytuje mnoho rozhraní API a opakovane použiteľných tried, pomocou ktorých môžeme vyvíjať aplikácie GUI. Jednou z najstarších súprav poskytovaných programom Java je program „Abstract Windowing ToolKit“ alebo AWT. Všetky novšie API alebo komponenty ako Swing; JavaFX atď. Sú založené na tomto AWT.
Rovnako dôležité sú programy pre konzoly, ktoré sme doteraz napísali, ale mali by sme vedieť, že všetky najnovšie moderné desktopové aplikácie sú graficky povolené. To znamená, že majú pripravené grafické rozhranie na použitie, ktoré koncovému používateľovi uľahčuje používanie aplikácie kliknutím myši.
Upozorňujeme, že písanie grafického používateľského rozhrania nie je také ľahké ako kreslenie niektorých tvarov alebo obrázkov. GUI obsahuje sled aktivít, ktoré tiež spúšťajú niektoré udalosti, ktoré následne vykonávajú niektoré akcie pri vyvolaní komponentu alebo časti komponentu, napríklad kliknutím na tlačidlo, ktoré spustí niektoré akcie.
Aplikácia GUI je teda rámec pozostávajúci z grafických komponentov a udalostí, ktoré je možné spustiť na týchto komponentoch, a akcií, ktoré sa vykonávajú v dôsledku spustenia udalostí.
nástroj na sledovanie teploty procesora a rýchlosti ventilátora
Rámec zvyčajne poskytuje predkompilované opakovane použiteľné triedy a komponenty, ktoré môžeme pretiahnuť do oblasti kreslenia a potom priradiť udalosti a akcie k týmto komponentom.
Java poskytuje nasledujúce hlavné rámce.
Java poskytuje nasledujúce rámce pre programovanie GUI:
- Sada abstraktných okien: Toto je najstarší rámec v Jave a bol prvýkrát predstavený v JDK 1.0. Väčšina komponentov AWT je dnes zastaraná a sú nahradené komponentami Java swing.
- Swing API: Toto je sada grafických knižníc vyvinutých nad rámec AWT a je súčasťou Java Foundation Classes (JFC). Swing má modulárnu architektúru, kde môžeme pre komponenty používať plug-and-play.
- JavaFX: Najnovší rámec je k dispozícii od verzie Java 8 a novšej.
V systéme Android sa používajú rôzne grafické rámce tretích strán, napríklad Eclipse’s Standard Widget Toolkit (SWT) alebo Google Web Toolkit (GWT).
Triedy Java Foundation (JFC)
Java poskytuje sadu funkcií a funkcií na vývoj grafických používateľských rozhraní alebo grafických používateľských rozhraní. Táto skupina funkcií je známa ako Java Foundation Classes alebo JFC.
Pomocou JFC môžeme aplikáciám pridávať bohaté grafické funkcie a tiež ich zvyšovať interaktivitu. JFC obsahuje sadu grafických komponentov, ktoré možno ľahko zapojiť do našej aplikácie a naprogramovať podľa našich požiadaviek. Ale programovanie týchto komponentov zvyčajne trvá len pár riadkov kódu.
JFC obsahuje triedy z balíkov java.awt a javax.swing. Okrem toho obsahuje aj triedy týkajúce sa Java 3D, Java 2D, Java Accessibility atď. JFC je synchronizovaný s modelom objektov a komponentov Java, a preto je ľahko použiteľný.
Nasledujúca schéma sumarizuje rôzne komponenty v JFC.
Ako je uvedené vyššie, JFC obsahuje triedy AWT a Swing. O každom z nich budeme diskutovať, keď budeme pokračovať v výukových programoch Java AWT a Java Swing. JFC tiež poskytuje rôzne metódy, ktoré môžeme použiť v rámci našej aplikácie.
najlepšie herné štúdiá, pre ktoré môžete pracovať
Niektoré z bežne používaných metód sú:
Metóda | Popis |
---|---|
public void add (komponent c) | Pridá komponent do nadradeného komponentu vyvolávajúceho metódu. |
public void setSize (int šírka, výška int) | Nastaví veľkosť komponentu so zadanou šírkou a výškou. |
public void setLayout (LayoutManager m) | Nastavte zadaného správcu rozloženia pre tento komponent. |
public void setVisible (boolean b) | Nastaviť viditeľnosť komponentu podľa boolovskej hodnoty. Štandardne je viditeľnosť nepravdivá. |
Teraz poďme diskutovať o komponentoch GUI na všeobecnej úrovni. Potom v našich ďalších návodoch rozoberieme konkrétne balíčky AWTand Swing a ich komponenty.
Súčasti okna
Vieme, že nadradeným kontajnerom akejkoľvek aplikácie grafického používateľského rozhrania je okno, ktoré môže obsahovať jeden alebo viac rámcov.
Grafické používateľské rozhranie všeobecne obsahuje prvky používateľského rozhrania alebo prvky, ktoré sa zobrazujú ako súčasť grafického používateľského rozhrania v aplikácii.
Tieto komponenty okna sú:
- Informačné prvky: Prvky alebo komponenty, ktoré nám poskytujú informácie, ako sú štítky, ikony, bannery alebo dialógové okná správ.
- Ovládanie vstupu: Textové polia, tlačidlá, rozbaľovacie zoznamy, začiarkavacie políčka, prepínače atď. Sú ovládacími prvkami vstupu, ktoré nám umožňujú čítať údaje od používateľa.
- Navigačné komponenty: S navigáciou v aplikácii nám pomáhajú komponenty, ako je ponuka, bočné lišty, strúhanka atď.
Poďme si teraz popísať niektoré dôležité komponenty v GUI.
Zarámovať v Jave
Rám je grafické okno viditeľné na obrazovke. Na rám sa dá pozerať ako na komponent, ale keďže tvorí fyzické okno, ktoré vidíme na obrazovke, zaobchádza sa s ním inak ako s ostatnými komponentmi. Rám môže obsahovať aj ďalšie grafické komponenty, ako sú tlačidlá, textové polia atď. A tiež panely.
Rámy tiež obsahujú metódy, ktoré iné komponenty nepodporujú. „Java.awt.Frame“ predstavuje triedu v AWT, zatiaľ čo JFrame je trieda obsiahnutá v balíku Java Swing, ktorá predstavuje rámec.
Akákoľvek aplikácia GUI teda začne zostavením objektu JFrame, ktorý tvorí hlavné okno. Po vytvorení objektu JFrame môžeme jeho viditeľnú vlastnosť nastaviť na true volaním setVisible (‘true’). Potom môžeme myšou presunúť ďalšie komponenty v tomto rámci.
Všetky komponenty grafického používateľského rozhrania vrátane rámcov majú niektoré spoločné vlastnosti, pretože sú súčasťou spoločnej hierarchie dedenia uvedenej vyššie. Môžeme teda povedať, že v balíku Java Swing existuje silný prípad zdieľania kódu.
Nasledujúci obrázok zobrazuje typické okno rámca v editore GUI.
Ako vidíme z vyššie uvedeného obrázku, najvzdialenejším oknom v editore návrhu (označeným menšou červenou šípkou) je rám. Vo vnútri tohto rámu máme rôzne ďalšie komponenty alebo podradené komponenty rámu.
Je to zrejmé z panela na ľavej strane, ktorý zobrazuje stromovú štruktúru komponentov. Ako je označené väčšou červenou šípkou, JFrame je koreňový komponent a potom všetky ostatné komponenty sú jeho podradené komponenty.
JPanel v Jave
Kontajner JPanel je súčasťou balíka Swing v Jave. JPanel ukladá skupinu komponentov. JPanel usporiadal komponenty pomocou rozloženia, ktoré nastavil. Rôzne rozloženia môžu JPanelu pomôcť lepšie usporiadať komponenty.
JPanel sa považuje za základný stavebný blok pre rozloženie komponentov v ráme alebo vo vnútri iných panelov. Aplikácia GUI má zvyčajne rám ako hlavné okno a jeden alebo viac panelov v ňom, ktoré držia a organizujú rôzne komponenty.
Nasledujúci obrázok zobrazuje jednoduchý príklad panelu vo vnútri rámu.
Ako je zobrazené vyššie, panelový kontajner je vložený do kontajnera okna Frame. Vo vnútri panelu môžeme mať jeden alebo viac panelov alebo dokonca panel. Potom môžeme na panel použiť ľubovoľného manažéra rozloženia, ktorý bude organizovať komponenty alebo prvky vo vnútri panelu. Predvolený správca rozloženia pre JPanel je „FlowLayout“.
Rozloženia GUI v Jave
Kontajner Java používa automatické rozloženie komponentov na obrazovke. O veľkosť a polohy komponentov sa ale stará „manažér rozloženia“. Správca rozloženia je pre kontajner nastavený v čase návrhu. Dá sa to meniť aj dynamicky.
sql server rozhovor otázky pre skúsených
Bežné rozloženia používané v Java GUI sú:
# 1) BorderLayout
Rozloženie ohraničenia rozdeľuje komponent na 5 oblastí, ako je to znázornené nižšie.
Z toho 4 oblasti, konkrétne „sever“, „juh“, „východ“ a „západ“, nie je možné zmeniť ich veľkosť. V oblasti „Centrum“ je možné zmeniť veľkosť. Upozorňujeme, že každá oblasť má limit iba na jeden komponent a panely je možné použiť na uchytenie viacerých komponentov.
# 2) FlowLayout: Toto rozloženie sa používa na uchytenie viacerých komponentov. Viaceré komponenty sú usporiadané horizontálne a zalamujú sa, ak je šírka kontajnera vyčerpaná. Komponenty sa tiež zobrazujú v poradí zľava doprava.
# 3) BoxLayout: Pomocou rozloženia krabice sú komponenty usporiadané buď vertikálne alebo horizontálne. Toto usporiadanie rozloženia škatule je nezávislé od veľkosti kontajnera. Komponenty v nádobe sú nastavené tak, aby vyplnili nádobu a mali rovnaké veľkosti.
To boli niektoré z dôležitých a bežných komponentov, ktoré máme pri vývoji GUI. V našich ďalších tutoriáloch o AWT a Swing sa pozrieme na podrobnosti o ďalších komponentoch poskytovaných týmito balíkmi.
často kladené otázky
Otázka 1) Čo je programovanie grafického používateľského rozhrania?
Odpoveď: Programy vyvinuté pomocou grafických komponentov, ktoré interagujú s počítačom pomocou ukazovacieho zariadenia a sú riadené udalosťami, to znamená, že pri spustení určitých udalostí vykonávajú niektoré akcie, ktoré sa nazývajú programovanie pomocou grafického používateľského rozhrania.
Programovanie grafického používateľského rozhrania využíva rámce grafického používateľského rozhrania, kde môžeme priamo pripájať a používať grafické komponenty.
Otázka 2) Aké grafické používateľské rozhranie sa má používať v prostredí Java?
Odpoveď: Java podporuje niektoré z najlepších rámcov, ktoré môžeme použiť na vývoj aplikácií GUI, ako je uvedené nižšie:
- JavaFX.
- Swing GUI Java.
- AWT: Sada nástrojov pre abstraktné vytváranie okien.
- SWT - štandardná sada nástrojov pre widgety.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
Otázka č. 3) Aké sú výhody grafického používateľského rozhrania?
Odpoveď: Vďaka programu GUI sú aplikácie interaktívne, intuitívne a ľahšie sa používajú a učia sa. Keďže poskytujú používateľovi grafické vizuálne prvky, akcie majú väčší účinok, a tým získavame okamžitú vizuálnu spätnú väzbu o aplikácii.
Otázka č. 4) Čo je API JavaFX?
Odpoveď: JavaFX je najnovšia knižnica Java napísaná v natívnom kóde Java, ktorá obsahuje triedy a rozhrania. JavaFX možno použiť na návrh aplikácií GUI vo verziách Java neskôr ako Java 8.
Otázka č. 5) Je Java dobrá pre grafické rozhranie?
Odpoveď: Aj keď má Java viac nástrojov na vývoj aplikácií GUI spolu s najlepšou podporou, nie je to také rýchle a také efektívne ako knižnica MFC v C ++, ktorá má takmer všetky funkcie na vývoj pokročilých aplikácií GUI.
Záver
V tomto tutoriáli sme preskúmali programovanie GUI v Jave. Predstavili sme niektoré dôležité koncepty programovania grafického používateľského rozhrania v Jave a tiež sme videli prehľad rámcov GUI podporovaných programom Java. Diskutovali sme o prehľade knižnice JFC.
=> Skontrolujte VŠETKY návody Java tu.
Odporúčané čítanie
- Úvod do programovacieho jazyka Java - videonávod
- OOP Java: Úvod do objektovo orientovaného programovania v Jave
- Výukový program Java Float s príkladmi programovania
- Výukový program Java s príkladmi programovania
- Výukový program Java SWING: Kontajnery, komponenty a spracovanie udalostí
- Reverzný reťazec Java: Výukový program s príkladmi programovania
- Komponenty Java: Java Platform, JDK, JRE a Java Virtual Machine
- Metóda Java String compareTo s príkladmi programovania