introduction jfc
Denne opplæringen diskuterer grunnleggende programmering av GUI (Graphical User Interface) og Java Foundation Classes eller JFC i Java:
I våre tidligere veiledninger har vi dekket emner som spenner fra det grunnleggende om Java-lignende datatyper, variabler, beslutningstaking og loopkonstruksjoner etc. til matriser, samlinger og metoder i Java.
Vi har også diskutert begrepet multithreading og unntak. Etter det lærte vi Java OOPS-støtten. Ved å bruke alle disse konseptene kan vi utvikle applikasjoner på høyt nivå i Java som er gjenbrukbare og robuste så vel som selvstendige.
=> Sjekk her for å se AZ-opplæringsveiledninger for Java.
I denne veiledningen begynner vi diskusjonen om grafisk utvikling av applikasjoner i Java. Som alle andre konsepter, tilbyr Java mange gjenbrukbare grafiske klasser og APIS slik at vi kan utvikle vårt grafiske brukergrensesnitt (GUI).
Hva du vil lære:
Hva er et grafisk brukergrensesnitt i Java
Grafisk brukergrensesnitt eller bare kalt 'GUI' er et generelt begrep som brukes i programvareverdenen. En GUI representerer et program som har en visuell skjerm for brukeren med brukervennlige kontroller. En GUI består vanligvis av grafiske komponenter som vinduer, rammer, knapper, etiketter, etc.
Vi kan bruke disse komponentene til å samhandle med systemet eller til og med omverdenen. Java tilbyr mange APIer og gjenbrukbare klasser der vi kan utvikle GUI-applikasjoner. Et av de eldste settene fra Java er ‘Abstract Windowing ToolKit” eller AWT. Alle nyere APIer eller komponenter som Swing; JavaFX, etc. er basert på denne AWT.
Konsollprogrammer som vi har skrevet så langt er like viktige, men vi bør vite at alle de nyeste moderne stasjonære applikasjonene er grafisk aktivert. Dette betyr at de har en brukervennlig GUI som gjør det lettere for sluttbrukeren å bruke applikasjonen med et museklikk.
Vær oppmerksom på at det ikke er så enkelt å skrive GUI som å tegne noen former eller inkludere bilder. GUI inneholder en sekvens av aktiviteter som også utløser noen hendelser som igjen utfører noen handlinger ved å påkalle en komponent eller del av en komponent, for eksempel ved å klikke på en knapp utløser vi noen handlinger.
Så et GUI-program er et rammeverk som består av grafiske komponenter og hendelser som kan utløses på disse komponentene og handlingene som utføres som et resultat av hendelsesutløseren.
Framework gir vanligvis forhåndskompilerte gjenbrukbare klasser og komponenter som vi kan dra og slippe i tegneområdet og deretter knytte hendelsene og handlingene til disse komponentene.
Java gir følgende hovedrammer.
Java gir følgende rammer for GUI-programmering:
- Abstract Windowing Toolkit: Dette er det eldste rammeverket i Java, og det ble først introdusert i JDK 1.0. De fleste AWT-komponentene er nå utdaterte og erstattes av Java-svingkomponenter.
- Swing API: Dette er et sett med grafiske biblioteker utviklet på toppen av AWT-rammeverket og er en del av Java Foundation Classes (JFC). Swing har modulær arkitektur der vi kan bruke plug-and-play for komponentene.
- JavaFX: Det siste rammeverket er tilgjengelig fra Java 8 og utover.
Det finnes forskjellige grafiske rammer fra tredjeparter som Eclipse's Standard Widget Toolkit (SWT) eller Google Web Toolkit (GWT) som brukes på Android.
Java Foundation Classes (JFC)
Java tilbyr et sett med funksjoner og funksjonalitet for å utvikle grafiske brukergrensesnitt eller GUIer. Dette settet med funksjoner er kjent som Java Foundation Classes eller JFC.
hva er en god e-postleverandør
Ved hjelp av JFC kan vi legge til rik grafisk funksjonalitet i applikasjoner og også gjøre dem mer interaktive. JFC inneholder et sett med grafiske komponenter som enkelt kan plugges inn i applikasjonen vår og programmeres i henhold til våre krav. Men programmering av disse komponentene tar vanligvis bare noen få linjer med kode.
JFC inneholder klasser fra java.awt og javax.swing-pakker. Bortsett fra disse inneholder den også klasser relatert til Java 3D, Java 2D, Java Accessibility, etc. JFC er synkronisert med Java’s objekt- og komponentmodell og er dermed enkel å bruke.
Følgende diagram oppsummerer ulike komponenter i JFC.
Som vist ovenfor inneholder JFC både AWT og Swing-klasser. Vi vil diskutere hver av disse når vi fortsetter med Java AWT og Java Swing tutorials. JFC tilbyr også ulike metoder som vi kan bruke i applikasjonen vår.
Noen av de vanligste metodene er:
Metode | Beskrivelse |
---|---|
public void add (Komponent c) | Legger til en komponent i den overordnede komponenten som påkaller metoden. |
public void setSize (int bredde, int høyde) | Angir størrelsen på en komponent med en spesifisert bredde og høyde. |
public void setLayout (LayoutManager m) | Angi den angitte layoutadministratoren for denne komponenten. |
public void setVisible (boolsk b) | Angi komponentsynlighet i henhold til den boolske verdien. Som standard er synligheten falsk. |
La oss nå gå videre til å diskutere GUI-komponentene på et generelt nivå. Så i de påfølgende veiledningene vil vi diskutere AWTand Swing-pakkene og deres komponenter spesifikt.
Vinduskomponenter
Vi vet at hovedbeholderen til ethvert GUI-program er et vindu som kan inneholde en eller flere rammer.
En GUI inkluderer vanligvis brukergrensesnittelementer eller elementene som vises som en del av GUI i applikasjonen.
Disse vinduskomponentene er som følger:
- Informasjonselementer: Elementene eller komponentene som gir oss informasjon som etiketter, ikoner, bannere eller meldingsdialoger.
- Inngangskontroller: Tekstfelt, knapper, rullegardinlister, avmerkingsbokser, radioknapper osv. Er inngangskontrollene som lar oss lese data fra brukeren.
- Navigasjonskomponenter: Komponenter som menyen, sidefelt, brødsmuler osv. Hjelper oss å navigere gjennom applikasjonen.
La oss nå beskrive noen viktige komponenter i GUI.
Ramme i Java
En ramme er et grafisk vindu som er synlig på skjermen. En ramme kan sees på som en komponent, men da den danner et fysisk vindu som vi kan se på skjermen, blir den behandlet annerledes enn de andre komponentene. En ramme kan ha andre grafiske komponenter som knapper, tekstfelt osv. Og paneler også.
Rammer har også metoder som ikke støttes av andre komponenter. “Java.awt.Frame” representerer en klasse i AWT mens JFrame er klassen som finnes i Java Swing-pakken som representerer en ramme.
Så ethvert GUI-program vil begynne med å konstruere et JFrame-objekt som danner hovedvinduet. Når JFrame-objektet er opprettet, kan vi sette den synlige egenskapen til true ved å kalle setVisible (‘true’). Så kan vi dra og slippe de andre komponentene i denne rammen.
Alle GUI-komponentene, inkludert rammer, har noen vanlige egenskaper, da de er en del av et felles arvshierarki vist ovenfor. Så vi kan si at det er et kraftig tilfelle av kodedeling i Java Swing-pakken.
mysql vs SQL Server vs Oracle
Følgende figur viser et typisk rammevindu i GUI-redigereren.
Som vi kan se fra figuren ovenfor, er det ytterste vinduet i designeditoren (markert med en mindre rød pil) rammen. Inne i denne rammen har vi forskjellige andre komponenter eller underordnede komponenter i rammen.
Dette fremgår av panelet på venstre side som viser en trestruktur av komponentene. Som markert med en større rød pil, er JFrame rotkomponenten, og deretter er alle de andre komponentene dens underkomponenter.
JPanel i Java
JPanel container er en del av Swing-pakken i Java. JPanel lagrer en gruppe komponenter. JPanel organiserte komponentene ved hjelp av layoutet satt av den. Ulike oppsett kan hjelpe JPanel med å bedre organisere komponentene.
JPanel regnes som en grunnleggende byggestein for komponentoppsett i en ramme eller inne i andre paneler. Et GUI-program har vanligvis Frame som hovedvindu og ett eller flere paneler i det for å holde og organisere forskjellige komponenter.
Følgende bilde viser et enkelt eksempel på et panel inne i en ramme.
Som vist ovenfor er en panelbeholder innebygd i en rammevinduebeholder. Vi kan ha ett eller flere paneler eller til og med et panel inne i et panel. Deretter kan vi bruke hvilken som helst layoutbehandling på panelet som vil organisere komponentene eller elementene inne i panelet. Standard layout manager for JPanel er “FlowLayout”.
GUI-oppsett i Java
Java-container bruker et automatisk oppsett av komponenter på skjermen. Men størrelsen og posisjonene til komponentene blir ivaretatt av ‘layout manager’. Layoutlederen er satt for en container ved designtid. Det kan også endres dynamisk.
Vanlige oppsett som brukes i Java GUI er:
# 1) BorderLayout
Kantoppsettet deler komponenten i 5 områder som vist nedenfor.
Av disse er 4 områder, nemlig “Nord”, “Sør”, “Øst” og “Vest” ikke størrelsesendrende. Området “Center” kan endres. Merk at hvert område har en grense på bare én komponent, og paneler kan brukes til å holde flere komponenter.
# 2) FlowLayout: Denne layouten brukes til å holde flere komponenter. Flere komponenter er ordnet horisontalt og de vikles inn hvis beholderbredden er oppbrukt. Komponenter vises også i rekkefølge fra venstre til høyre.
# 3) BoxLayout: Ved bruk av boksoppsettet er komponentene ordnet vertikalt eller horisontalt. Dette arrangementet av eskeoppsettet er uavhengig av beholderstørrelsen. Komponentene i beholderen er satt slik at de fyller beholderen og har identiske størrelser.
Dette var noen av de viktige og vanlige komponentene vi har i GUI-utvikling. I våre påfølgende veiledninger om AWT og Swing vil vi gå inn i detaljene til de andre komponentene som tilbys av disse pakkene.
ofte stilte spørsmål
Q # 1) Hva er GUI-programmering?
Svar: Programmene utviklet ved hjelp av grafiske komponenter som samhandler med datamaskinen ved hjelp av pekeenheten og er hendelsesdrevet, dvs. det utfører noen handlinger når visse hendelser utløses, og kalles GUI-programmering.
c ++ tilfeldig tall mellom
En GUI-programmering bruker GUI-rammer der vi direkte kan plugge inn og bruke grafiske komponenter.
Q # 2) Hvilken GUI skal jeg bruke med Java?
Svar: Java støtter noen av de beste rammene vi kan bruke til å utvikle GUI-applikasjoner som vist nedenfor:
- JavaFX.
- Swing GUI Java.
- AWT: Abstract Windowing Toolkit.
- SWT- Standard Widget Toolkit.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
Q # 3) Hva er fordelene med en GUI?
Svar: GUI-programmet gjør applikasjoner interaktive, intuitive og enklere å bruke og lære. Ettersom de gir brukeren grafiske bilder, har handlingene mer effekt, og dermed får vi umiddelbar visuell tilbakemelding om applikasjonen.
Q # 4) Hva er JavaFX API?
Svar: JavaFX er det siste Java-biblioteket skrevet i den opprinnelige Java-koden og inneholder klasser og grensesnitt. JavaFX kan brukes til å designe GUI-applikasjoner i Java-versjoner senere enn Java 8.
Q # 5) Er Java bra for GUI?
Svar: Selv om Java har flere verktøy for å utvikle GUI-applikasjoner sammen med best støtte, er det ikke så raskt og like effektivt som MFC-biblioteket til C ++ som har nesten alle funksjonene for å utvikle avanserte GUI-applikasjoner.
Konklusjon
I denne veiledningen utforsket vi GUI-programmering i Java. Vi introduserte noen av de viktige konseptene for GUI-programmering i Java og så også en oversikt over GUI-rammene som støttes av Java. Vi diskuterte oversikten over JFC-biblioteket.
=> Sjekk ALLE Java-opplæringsprogrammer her.
Anbefalt lesing
- Introduksjon til Java Programming Language - Video Tutorial
- OOP Java: Introduksjon til objektorientert programmering i Java
- Java Float Tutorial med programmeringseksempler
- Java Double - Veiledning med programmeringseksempler
- Java SWING Tutorial: Container, Components and Event Handling
- Java omvendt streng: opplæring med programmeringseksempler
- Java-komponenter: Java Platform, JDK, JRE og Java Virtual Machine
- Java-streng sammenligne metode med programmeringseksempler