introduction jfc
Ovaj vodič govori o osnovama programiranja GUI-a (grafičko korisničko sučelje) i Java Foundation Classes ili JFC u Javi:
U našim prethodnim vodičima obrađivali smo teme od osnova Java-sličnih vrsta podataka, varijabli, donošenja odluka i konstrukcija petlje, itd. Do nizova, zbirki i metoda na Javi.
Također smo raspravljali o konceptu višenitnosti i iznimkama. Nakon toga naučili smo podršku za Java OOPS. Koristeći sve ove koncepte, možemo razviti programe visoke razine u Javi koji su za višekratnu uporabu i robusni te samostalni.
=> Ovdje pogledajte kako biste vidjeli A-Z vodiča za Java obuku.
U ovom uputstvu započet ćemo raspravu o grafičkom razvoju aplikacija u Javi. Kao i svi ostali koncepti, Java nudi brojne grafičke klase za višekratnu upotrebu i APIS kako bismo mogli razviti naše grafičko korisničko sučelje (GUI).
Što ćete naučiti:
najbolji besplatni softver za kloniranje tvrdog diska 2017
Što je grafičko korisničko sučelje u Javi
Grafičko korisničko sučelje ili jednostavno nazvano 'GUI' općeniti je pojam koji se koristi u svijetu softvera. GUI predstavlja aplikaciju koja ima vizualni zaslon za korisnika s jednostavnim kontrolama. GUI se obično sastoji od grafičkih komponenata poput prozora, okvira, gumba, naljepnica itd.
Te komponente možemo koristiti za interakciju sa sustavom ili čak s vanjskim svijetom. Java nudi mnoge API-je i klase za višekratnu upotrebu pomoću kojih možemo razvijati GUI aplikacije. Jedan od najstarijih setova koje nudi Java je 'Abstract Windowing ToolKit' ili AWT. Svi noviji API-ji ili komponente poput Swinga; JavaFX itd. Temelje se na ovom AWT-u.
Konzolski programi koje smo do sada napisali podjednako su važni, ali trebali bismo znati da su sve najnovije moderne računalne aplikacije grafički omogućene. To znači da imaju spreman za upotrebu GUI što krajnjem korisniku olakšava upotrebu aplikacije klikom miša.
Imajte na umu da pisanje GUI-a nije tako jednostavno kao crtanje nekih oblika ili uključivanje slika. GUI sadrži slijed aktivnosti koje također pokreću neke događaje koji zauzvrat izvršavaju neke radnje na pozivanje komponente ili dijela komponente, kao što klikom na gumb pokrećemo neke radnje.
Dakle, GUI aplikacija je okvir koji se sastoji od grafičkih komponenata i događaja koji se mogu pokrenuti na tim komponentama i radnji koje se izvršavaju kao rezultat okidača događaja.
Okviri obično nude prekompajlirane klase i komponente za višekratnu upotrebu koje možemo povući i ispustiti u područje crtanja, a zatim povezati događaje i radnje s tim komponentama.
Java pruža sljedeće glavne okvire.
Java nudi sljedeće okvire za GUI programiranje:
- Sažetak alata za prozore: Ovo je najstariji okvir u Javi i prvi je put predstavljen u JDK 1.0. Većina komponenata AWT zastarjela je i zamijenjene su Java swing komponentama.
- Swing API: Ovo je skup grafičkih knjižnica razvijenih na vrhu AWT okvira i dio je Java Foundation Classes (JFC). Swing ima modularnu arhitekturu u kojoj za komponente možemo koristiti plug-and-play.
- JavaFX: Najnoviji okvir dostupan je od Jave 8 nadalje.
Postoje različiti grafički okviri trećih strana poput Eclipse-ovog Standardnog alata za widget (SWT) ili Google Web Toolkita (GWT) koji se koristi na Androidu.
Java Temeljni tečajevi (JFC)
Java nudi skup značajki i funkcionalnosti za razvoj grafičkih korisničkih sučelja ili GUI-a. Ovaj skup značajki poznat je pod nazivom Java Foundation Classes ili JFC.
Korištenjem JFC-a aplikacijama možemo dodati bogatu grafičku funkcionalnost i učiniti ih interaktivnijima. JFC sadrži skup grafičkih komponenata koje se lako mogu uključiti u našu aplikaciju i programirati prema našim zahtjevima. Ali programiranje ovih komponenata obično traje samo nekoliko redaka koda.
JFC sadrži klase iz paketa java.awt i javax.swing. Osim njih, sadrži i klase povezane s Java 3D, Java 2D, Java Accessibility, itd. JFC je sinkroniziran s Javinim objektom i komponentnim modelom i stoga je jednostavan za upotrebu.
Sljedeći dijagram sažima različite komponente u JFC-u.
Kao što je gore prikazano, JFC sadrži AWT kao i klase Swinga. O svakom od njih razgovarat ćemo tijekom nastavka s Java AWT i Java Swing tutorialima. JFC također nudi razne metode koje možemo koristiti u našoj aplikaciji.
Neke od najčešće korištenih metoda su:
Metoda | Opis |
---|---|
dodavanje javne praznine (komponenta c) | Dodaje komponentu nadređenoj komponenti koja poziva metodu. |
javna praznina setSize (int širina, int visina) | Postavlja veličinu komponente s navedenom širinom i visinom. |
javna praznina setLayout (LayoutManager m) | Postavite navedeni upravitelj izgleda za ovu komponentu. |
javna praznina setVisible (logička b) | Postavite vidljivost komponente prema logičkoj vrijednosti. Prema zadanim postavkama vidljivost je lažna. |
Krenimo sada na raspravu o GUI komponentama na općenitoj razini. Zatim ćemo u sljedećim vodičima posebno raspravljati o paketima AWTand Swing i njihovim komponentama.
Komponente prozora
Znamo da je nadređeni spremnik bilo koje GUI aplikacije Prozor koji može sadržavati jedan ili više okvira.
GUI obično uključuje elemente korisničkog sučelja ili elemente koji su prikazani kao dio GUI-a u aplikaciji.
Te su komponente prozora sljedeće:
- Informativni elementi: Elementi ili komponente koji nam pružaju informacije poput naljepnica, ikona, natpisa ili dijaloških okvira za poruke.
- Ulazne kontrole: Tekstualna polja, gumbi, padajući popisi, potvrdni okviri, radio gumbi itd. Su ulazne kontrole koje nam omogućuju čitanje podataka od korisnika.
- Navigacijske komponente: Komponente poput izbornika, bočnih traka, prezle itd. Pomažu nam u navigaciji kroz aplikaciju.
Opišimo sada neke važne komponente u GUI-u.
Okvir u Javi
Okvir je grafički prozor vidljiv na zaslonu. Okvir se može promatrati kao komponenta, ali kako tvori fizički prozor koji možemo vidjeti na ekranu, tretira se drugačije od ostalih komponenata. Okvir može imati i druge grafičke komponente poput gumba, tekstualnih polja itd. I panela.
Okviri također imaju metode koje druge komponente ne podržavaju. 'Java.awt.Frame' predstavlja klasu u AWT-u, dok je JFrame klasa sadržana u paketu Java Swing koji predstavlja Frame.
Dakle, svaka GUI aplikacija započinje konstrukcijom JFrame objekta koji čini glavni prozor. Jednom kada je stvoren JFrame objekt, njegovo vidljivo svojstvo možemo postaviti na true pozivanjem setVisible (‘true’). Tada možemo povući i ispustiti ostale komponente u ovaj okvir.
Sve komponente GUI-a, uključujući okvire, imaju neka zajednička svojstva jer su dio zajedničke hijerarhije nasljeđivanja prikazane gore. Tako možemo reći da u paketu Java Swing postoji snažan slučaj dijeljenja koda.
Sljedeća slika prikazuje tipični prozor okvira u GUI editoru.
Kao što vidimo sa gornje slike, najudaljeniji prozor u uređivaču dizajna (označen manjom crvenom strelicom) je okvir. Unutar ovog okvira imamo razne druge komponente ili podređene komponente okvira.
To je vidljivo iz ploče s lijeve strane koja prikazuje strukturu stabla komponenata. Kao što je označena većom crvenom strelicom, JFrame je korijenska komponenta, a zatim su sve ostale komponente njene podređene komponente.
JPanel u Javi
Spremnik JPanel dio je Swing paketa na Javi. JPanel pohranjuje skupinu komponenata. JPanel je organizirao komponente koristeći postavljeni raspored. Razni izgledi mogu pomoći JPanelu da bolje organizira komponente.
JPanel se smatra osnovnim gradivnim elementom za raspored komponenata u okviru ili unutar drugih ploča. GUI aplikacija obično ima glavni okvir kao okvir i jednu ili više ploča u njemu za držanje i organiziranje različitih komponenata.
Sljedeća slika prikazuje jednostavan primjer ploče unutar okvira.
Kao što je gore prikazano, spremnik Panel ugrađen je u spremnik prozora Frame. Možemo imati jednu ili više ploča ili čak ploču unutar ploče. Tada na ploču možemo primijeniti bilo koji upravitelj rasporeda koji će organizirati komponente ili elemente unutar ploče. Zadani upravitelj izgleda za JPanel je 'FlowLayout'.
GUI rasporedi u Javi
Spremnik Java koristi automatski raspored komponenata na zaslonu. No, o veličini i položaju komponenata brine se 'upravitelj rasporeda'. Upravitelj izgleda postavljen je za spremnik u vrijeme dizajna. Također se može dinamički mijenjati.
Uobičajeni izgledi koji se koriste u Java GUI-u su:
# 1) BorderLayout
Izgled obruba dijeli komponentu na 5 područja kao što je prikazano u nastavku.
Od toga se 4 područja, naime „Sjever“, „Jug“, „Istok“ i „Zapad“, ne mogu promijeniti. Područje 'Centar' može se promijeniti. Imajte na umu da svako područje ima ograničenje samo jedne komponente i da se paneli mogu koristiti za držanje više komponenata.
# 2) FlowLayout: Ovaj se raspored koristi za držanje više komponenata. Više je komponenata postavljeno vodoravno i omotavaju se ako je širina spremnika iscrpljena. Također, komponente se prikazuju redoslijedom slijeva udesno.
# 3) Raspored okvira: Koristeći raspored okvira, komponente su poredane vertikalno ili vodoravno. Ovaj raspored izgleda kutije neovisan je o veličini spremnika. Komponente u spremniku postavljene su tako da ispunjavaju spremnik i imaju identične veličine.
To su bile neke od važnih i zajedničkih komponenti koje imamo u razvoju GUI-ja. U našim sljedećim vodičima o AWT-u i Swingu, ući ćemo u detalje ostalih komponenata koje pružaju ovi paketi.
Često postavljana pitanja
P # 1) Što je GUI programiranje?
Odgovor: Programi razvijeni pomoću grafičkih komponenata koje komuniciraju s računalom pomoću pokazivačkog uređaja i upravlja se događajima, tj. Izvodi neke radnje kada se određeni događaji aktiviraju, a naziva se GUI programiranje.
GUI programiranje koristi GUI okvire u koje možemo izravno priključiti i koristiti grafičke komponente.
P # 2) Koji GUI koristiti s Javom?
Odgovor: Java podržava neke od najboljih okvira koje možemo koristiti za razvoj GUI aplikacija kao što je prikazano u nastavku:
- JavaFX.
- Swing GUI Java.
- AWT: Sažetak alata za prozore.
- SWT - standardni alat za widgete.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
P # 3) Koje su prednosti GUI-ja?
Odgovor: GUI program čini aplikacije interaktivnim, intuitivnim i jednostavnijim za upotrebu i učenje. Kako pružaju korisniku grafički vizualni prikaz, radnje imaju više učinka i tako dobivamo trenutne vizualne povratne informacije o aplikaciji.
P # 4) Što je JavaFX API?
Odgovor: JavaFX je najnovija Java knjižnica napisana u izvornom Java kodu i sadrži klase i sučelja. JavaFX se može koristiti za dizajniranje GUI aplikacija u Java verzijama kasnijim od Java 8.
P # 5) Je li Java dobra za GUI?
Odgovor: Iako Java ima više alata za razvoj GUI aplikacija uz najbolju podršku, nije tako brza i učinkovita kao MFC knjižnica C ++ koja ima gotovo sve značajke za razvoj naprednih GUI aplikacija.
Zaključak
U ovom uputstvu istražili smo GUI programiranje na Javi. Predstavili smo neke od važnih koncepata GUI programiranja na Javi, a također smo vidjeli i pregled GUI okvira koje Java podržava. Razgovarali smo o pregledu JFC biblioteke.
=> Ovdje provjerite SVE Java tutorijale.
Preporučena literatura
- Uvod u programski jezik Java - Video vodič
- OOP Java: Uvod u objektno orijentirano programiranje na Javi
- Vodič za Java Float s primjerima programiranja
- Dvostruki vodič za Java s primjerima programiranja
- Java SWING Vodič: Spremnici, komponente i upravljanje događajima
- Java Obrnuti niz: Vodič s primjerima programiranja
- Java komponente: Java platforma, JDK, JRE i Java virtualni stroj
- Java String compareTo metoda s primjerima programiranja