introduction jfc
Denne vejledning diskuterer det grundlæggende i GUI (Graphical User Interface) programmering og Java Foundation Classes eller JFC i Java:
hvordan man skriver testcases ud fra krav
I vores tidligere tutorials har vi dækket emner lige fra det grundlæggende i Java-lignende datatyper, variabler, beslutningstagning og loopkonstruktioner osv. Til arrays, samlinger og metoder i Java.
Vi har også diskuteret begrebet multithreading og undtagelser. Derefter lærte vi Java OOPS support. Ved hjælp af alle disse koncepter kan vi udvikle applikationer på højt niveau i Java, der er genanvendelige og robuste såvel som selvstændige.
=> Tjek her for at se AZ af Java-træningsvejledninger.
I denne vejledning begynder vi vores diskussion om den grafiske udvikling af applikationer i Java. Som alle andre begreber giver Java adskillige genanvendelige grafiske klasser og APIS, så vi kan udvikle vores grafiske brugergrænseflade (GUI).
Hvad du lærer:
Hvad er en grafisk brugergrænseflade i Java
Grafisk brugergrænseflade eller simpelthen kaldet “GUI” er et generelt udtryk, der bruges i softwareverdenen. En GUI repræsenterer et program, der har et visuelt display til brugeren med brugervenlige kontroller. En GUI består generelt af grafiske komponenter som vinduer, rammer, knapper, etiketter osv.
Vi kan bruge disse komponenter til at interagere med systemet eller endda omverdenen. Java leverer mange API'er og genanvendelige klasser, hvor vi kan udvikle GUI-applikationer. Et af de ældste kits leveret af Java er 'Abstract Windowing ToolKit' eller AWT. Alle nyere API'er eller komponenter som Swing; JavaFX osv. Er baseret på denne AWT.
Konsolprogrammer, som vi hidtil har skrevet, er lige så vigtige, men vi skal vide, at alle de nyeste moderne desktop-applikationer er grafisk aktiveret. Det betyder, at de har en klar til brug GUI, der gør det lettere for slutbrugeren at bruge applikationen med et museklik.
Bemærk, at skrivning af GUI ikke er så let som at tegne nogle former eller inkludere billeder. GUI'en indeholder en sekvens af aktiviteter, der også udløser nogle begivenheder, der igen udfører nogle handlinger ved påkaldelse af en komponent eller del af en komponent, som ved at klikke på en knap udløser vi nogle handlinger.
Så en GUI-applikation er en ramme, der består af grafiske komponenter og begivenheder, der kan udløses på disse komponenter, og de handlinger, der udføres som et resultat af begivenhedsudløseren.
Frameworks leverer normalt prækompilerede genanvendelige klasser og komponenter, som vi kan trække og slippe i tegningsområdet og derefter knytte begivenhederne og handlingerne til disse komponenter.
Java giver følgende hovedrammer.
Java leverer følgende rammer til GUI-programmering:
- Abstrakt Windowing Toolkit: Dette er den ældste ramme i Java, og den blev først introduceret i JDK 1.0. De fleste af AWT-komponenterne er nu forældede og erstattes af Java-svingkomponenter.
- Swing API: Dette er et sæt grafiske biblioteker udviklet oven på AWT-rammen og er en del af Java Foundation Classes (JFC). Swing har modulær arkitektur, hvor vi kan bruge plug-and-play til komponenterne.
- JavaFX: Den nyeste ramme er tilgængelig fra Java 8 og fremefter.
Der er forskellige tredjeparts grafiske rammer som Eclipse's Standard Widget Toolkit (SWT) eller Google Web Toolkit (GWT), der bruges på Android.
Java Foundation Classes (JFC)
Java giver et sæt funktioner og funktionalitet til udvikling af grafiske brugergrænseflader eller GUI'er. Dette sæt funktioner er kendt som Java Foundation Classes eller JFC.
Ved hjælp af JFC kan vi tilføje rig grafisk funktionalitet til applikationer og også gøre dem mere interaktive. JFC indeholder et sæt grafiske komponenter, der let kan tilsluttes vores applikation og programmeres efter vores krav. Men programmering af disse komponenter tager normalt kun få linier kode.
JFC indeholder klasser fra java.awt- og javax.swing-pakker. Bortset fra disse indeholder den også klasser relateret til Java 3D, Java 2D, Java Accessibility osv. JFC er synkroniseret med Java's objekt- og komponentmodel og er derfor let at bruge.
Følgende diagram opsummerer forskellige komponenter i JFC.
bedste gratis anti spyware windows 10
Som vist ovenfor indeholder JFC såvel AWT som Swing-klasser. Vi vil diskutere hver af disse, når vi fortsætter med Java AWT og Java Swing-tutorials. JFC leverer også forskellige metoder, som vi kan bruge i vores applikation.
Nogle af de almindeligt anvendte metoder er:
Metode | Beskrivelse |
---|---|
offentlig ugyldig tilføjelse (komponent c) | Føjer en komponent til den overordnede komponent, der påberåber metoden. |
public void setSize (int bredde, int højde) | Indstiller størrelsen på en komponent med en specificeret bredde og højde. |
public void setLayout (LayoutManager m) | Indstil den angivne layoutmanager for denne komponent. |
public void setVisible (boolsk b) | Indstil komponentsynlighed i henhold til den boolske værdi. Som standard er synligheden falsk. |
Lad os nu gå videre til at diskutere GUI-komponenterne på et generelt niveau. Derefter vil vi i vores efterfølgende tutorials diskutere AWTand Swing-pakkerne og deres komponenter specifikt.
Vindueskomponenter
Vi ved, at modercontaineren til ethvert GUI-program er et vindue, der kan indeholde en eller flere rammer.
En GUI inkluderer generelt brugergrænsefladeelementer eller de elementer, der vises som en del af GUI i applikationen.
Disse vindueskomponenter er som følger:
- Informationselementer: De elementer eller komponenter, der giver os oplysninger som etiketter, ikoner, bannere eller meddelelsesdialoger.
- Indgangskontrol: Tekstfelter, knapper, rullelister, afkrydsningsfelter, radioknapper osv. Er inputkontrolelementerne, der giver os mulighed for at læse data fra brugeren.
- Navigationskomponenter: Komponenter som menuen, sidebjælker, brødkrummer osv. Hjælper os med at navigere gennem applikationen.
Lad os nu beskrive nogle vigtige komponenter i GUI.
Ramme i Java
En ramme er et grafisk vindue, der er synligt på skærmen. En ramme kan ses som en komponent, men da den danner et fysisk vindue, som vi kan se på skærmen, behandles den anderledes end de andre komponenter. En ramme kan også have andre grafiske komponenter som knapper, tekstfelter osv. Og paneler.
Rammer har også metoder, der ikke understøttes af andre komponenter. “Java.awt.Frame” repræsenterer en klasse i AWT, mens JFrame er den klasse, der findes i Java Swing-pakken, der repræsenterer en ramme.
Så ethvert GUI-program begynder med at konstruere et JFrame-objekt, der danner hovedvinduet. Når JFrame-objektet er oprettet, kan vi indstille dets synlige egenskab til true ved at kalde setVisible ('true'). Så kan vi trække og slippe de andre komponenter i denne ramme.
Alle GUI-komponenter inklusive rammer har nogle fælles egenskaber, da de er en del af et fælles arvshierarki vist ovenfor. Så vi kan sige, at der er et kraftigt tilfælde af kodedeling i Java Swing-pakken.
Den følgende figur viser et typisk rammevindue i GUI-editoren.
Som vi kan se fra ovenstående figur, er det yderste vindue i designeditoren (markeret med en mindre rød pil) rammen. Inde i denne ramme har vi forskellige andre komponenter eller underordnede komponenter i rammen.
Dette fremgår af panelet på venstre side, der viser en træstruktur af komponenterne. Som markeret med en større rød pil er JFrame rodkomponenten, og så er alle de andre komponenter dens underordnede komponenter.
JPanel i Java
JPanel container er en del af Swing-pakken i Java. JPanel gemmer en gruppe komponenter. JPanel organiserede komponenterne ved hjælp af det layout, der er angivet af den. Forskellige layouter kan hjælpe JPanel med at organisere komponenterne bedre.
JPanel betragtes som en grundlæggende byggesten til komponentlayout i en ramme eller inde i andre paneler. Et GUI-program har normalt Frame som hovedvindue og et eller flere paneler inde i det til at rumme og organisere forskellige komponenter.
Det følgende billede viser et simpelt eksempel på et panel inde i en ramme.
Som vist ovenfor er en panelbeholder indlejret i en rammevinduebeholder. Vi kan have et eller flere paneler eller endda et panel inde i et panel. Derefter kan vi anvende enhver layoutmanager på panelet, der organiserer komponenterne eller elementerne inde i panelet. Standardlayoutmanager for JPanel er “FlowLayout”.
GUI-layout i Java
Java-container bruger et automatisk layout af komponenter på skærmen. Men størrelsen og placeringen af komponenterne er taget hånd om af 'layout manager'. Layoutmanageren er indstillet til en container på designtidspunktet. Det kan også ændres dynamisk.
Almindelige layouts, der bruges i Java GUI, er:
# 1) BorderLayout
Grænselayoutet opdeler komponenten i 5 områder som vist nedenfor.
Ud af disse er 4 områder, nemlig 'Nord', 'Syd', 'Øst' og 'Vest', der ikke kan ændres. Området 'Center' kan ændres. Bemærk, at hvert område kun har en grænse på en komponent, og at paneler kan bruges til at rumme flere komponenter.
# 2) FlowLayout: Dette layout bruges til at indeholde flere komponenter. Flere komponenter er arrangeret vandret, og de ombrydes, hvis containerbredden er opbrugt. Komponenter vises også i rækkefølge fra venstre til højre.
# 3) BoxLayout: Ved hjælp af bokslayoutet er komponenterne arrangeret enten lodret eller vandret. Dette arrangement af boksens layout er uafhængig af containerstørrelsen. Komponenterne i beholderen er indstillet, så de fylder beholderen og har identiske størrelser.
Dette var nogle af de vigtige og almindelige komponenter, vi har i GUI-udviklingen. I vores efterfølgende tutorials om AWT og Swing vil vi gå ind i detaljerne om de andre komponenter, der leveres af disse pakker.
Ofte stillede spørgsmål
Q # 1) Hvad er GUI-programmering?
Svar: Programmerne udviklet ved hjælp af grafiske komponenter, der interagerer med computeren ved hjælp af pegeudstyret og er hændelsesdrevet, dvs. det udfører nogle handlinger, når visse begivenheder udløses, og kaldes GUI-programmering.
En GUI-programmering bruger GUI-rammer, hvor vi direkte kan tilslutte og bruge grafiske komponenter.
Spørgsmål nr. 2) Hvilken GUI skal jeg bruge med Java?
Svar: Java understøtter nogle af de bedste rammer, som vi kan bruge til at udvikle GUI-applikationer som vist nedenfor:
- JavaFX.
- Swing GUI Java.
- AWT: Abstrakt Windowing Toolkit.
- SWT- Standard Widget Toolkit.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
Q # 3) Hvad er fordelene ved en GUI?
Svar: GUI-programmet gør applikationer interaktive, intuitive og lettere at bruge og lære. Da de giver brugeren grafisk grafik, har handlingerne mere effekt, og dermed får vi øjeblikkelig visuel feedback om applikationen.
Q # 4) Hvad er JavaFX API?
Svar: JavaFX er det nyeste Java-bibliotek skrevet i den oprindelige Java-kode og indeholder klasser og grænseflader. JavaFX kan bruges til at designe GUI-applikationer i Java-versioner senere end Java 8.
Spørgsmål nr. 5) Er Java godt til GUI?
Svar: Selvom Java har flere værktøjer til at udvikle GUI-applikationer sammen med den bedste support, er det ikke så hurtigt og så effektivt som MFC-biblioteket i C ++, der har næsten alle funktionerne til at udvikle avancerede GUI-applikationer.
Konklusion
I denne vejledning undersøgte vi GUI-programmering i Java. Vi introducerede nogle af de vigtige begreber i GUI-programmering i Java og så også en oversigt over de GUI-rammer, der understøttes af Java. Vi diskuterede oversigten over JFC-biblioteket.
hvordan man åbner .bin filer
=> Tjek ALLE Java-tutorials her.
Anbefalet læsning
- Introduktion til Java-programmeringssprog - Videovejledning
- OOP Java: Introduktion til objektorienteret programmering i Java
- Java Float Tutorial med programmeringseksempler
- Java Double - Vejledning med programmeringseksempler
- Java SWING Tutorial: Container, komponenter og håndtering af begivenheder
- Java Reverse String: Tutorial med programmeringseksempler
- Java-komponenter: Java Platform, JDK, JRE og Java Virtual Machine
- Java-streng sammenlignet med metode med programmeringseksempler