introduction jfc
programvara för att rippa DVD till dator
Denna handledning diskuterar grunderna i GUI (Graphical User Interface) programmering och Java Foundation Classes eller JFC i Java:
I våra tidigare tutorials har vi täckt ämnen som sträcker sig från grunderna i Java-liknande datatyper, variabler, beslutsfattande och loopkonstruktioner etc. till matriser, samlingar och metoder i Java.
Vi har också diskuterat begreppet multithreading och undantag. Efter det lärde vi oss Java OOPS-stödet. Med hjälp av alla dessa koncept kan vi utveckla högnivåapplikationer i Java som är återanvändbara och robusta såväl som fristående.
=> Kolla här för att se A-Z av Java-träningsövningar.
I den här handledningen börjar vi vår diskussion om grafisk utveckling av applikationer i Java. Som alla andra begrepp tillhandahåller Java många återanvändbara grafiska klasser och APIS så att vi kan utveckla vårt grafiska användargränssnitt (GUI).
Vad du kommer att lära dig:
Vad är ett grafiskt användargränssnitt i Java
Grafiskt användargränssnitt eller kallas helt enkelt ”GUI” är en allmän term som används i programvaruvärlden. Ett GUI representerar ett program som har en visuell skärm för användaren med lättanvända kontroller. Ett GUI består vanligtvis av grafiska komponenter som fönster, ramar, knappar, etiketter etc.
Vi kan använda dessa komponenter för att interagera med systemet eller till och med omvärlden. Java tillhandahåller många API: er och återanvändbara klasser där vi kan utveckla GUI-applikationer. Ett av de äldsta kit som tillhandahålls av Java är 'Abstract Windowing ToolKit' eller AWT. Alla nyare API: er eller komponenter som Swing; JavaFX, etc. är baserade på denna AWT.
Konsolprogram som vi hittills har skrivit är lika viktiga men vi borde veta att alla de senaste moderna skrivbordsapplikationerna är grafiskt aktiverade. Det betyder att de har ett färdigt användargränssnitt som gör det lättare för slutanvändaren att använda applikationen med ett musklick.
Observera att det inte är lika enkelt att skriva GUI som att rita några former eller inkludera bilder. GUI innehåller en sekvens av aktiviteter som också utlöser vissa händelser som i sin tur utför vissa åtgärder vid anrop av en komponent eller del av en komponent, som genom att klicka på en knapp så utlöser vi vissa åtgärder.
Så en GUI-applikation är ett ramverk som består av grafiska komponenter och händelser som kan utlösas på dessa komponenter och de åtgärder som utförs som ett resultat av händelserutlösaren.
Ramar tillhandahåller vanligtvis förkompilerade återanvändbara klasser och komponenter som vi kan dra och släppa i ritningsområdet och sedan associera händelser och åtgärder med dessa komponenter.
Java tillhandahåller följande huvudramar.
Java tillhandahåller följande ramar för GUI-programmering:
- Abstract Windowing Toolkit: Detta är det äldsta ramverket i Java och det introducerades först i JDK 1.0. De flesta AWT-komponenterna är nu föråldrade och ersätts av Java-svingkomponenter.
- Swing API: Detta är en uppsättning grafiska bibliotek utvecklade ovanpå AWT-ramverket och är en del av Java Foundation Classes (JFC). Swing har modulär arkitektur där vi kan använda plug-and-play för komponenterna.
- JavaFX: Det senaste ramverket är tillgängligt från Java 8 och framåt.
Det finns olika grafiska ramar från tredje part som Eclipse's Standard Widget Toolkit (SWT) eller Google Web Toolkit (GWT) som används på Android.
Java Foundation Classes (JFC)
Java tillhandahåller en uppsättning funktioner och funktioner för att utveckla grafiska användargränssnitt eller GUI. Denna uppsättning funktioner kallas Java Foundation Classes eller JFC.
Med JFC kan vi lägga till rik grafisk funktionalitet i applikationer och också göra dem mer interaktiva. JFC innehåller en uppsättning grafiska komponenter som enkelt kan anslutas till vår applikation och programmeras enligt våra krav. Men programmering av dessa komponenter tar vanligtvis bara några rader kod.
JFC innehåller klasser från paket java.awt och javax.swing. Bortsett från dessa innehåller den också klasser relaterade till Java 3D, Java 2D, Java Accessibility etc. JFC är synkroniserad med Java: s objekt- och komponentmodell och är därmed lätt att använda.
Följande diagram sammanfattar olika komponenter i JFC.
Som visas ovan innehåller JFC både AWT och Swing-klasser. Vi kommer att diskutera var och en av dessa när vi fortsätter med Java AWT och Java Swing tutorials. JFC tillhandahåller också olika metoder som vi kan använda i vår applikation.
Några av de vanliga metoderna är:
Metod | Beskrivning |
---|---|
public void add (komponent c) | Lägger till en komponent i den överordnade komponenten som anropar metoden. |
public void setSize (int bredd, int höjd) | Ställer in storleken på en komponent med en specificerad bredd och höjd. |
public void setLayout (LayoutManager m) | Ställ in den angivna layouthanteraren för den här komponenten. |
public void setVisible (boolean b) | Ställ in komponentsynlighet enligt det booleska värdet. Som standard är synligheten falsk. |
Låt oss nu gå vidare för att diskutera GUI-komponenterna på allmän nivå. Sedan i våra efterföljande handledning kommer vi att diskutera AWTand Swing-paketen och deras komponenter specifikt.
Fönsterkomponenter
Vi vet att moderbehållaren för alla GUI-applikationer är ett fönster som kan innehålla en eller flera ramar.
Ett GUI innehåller vanligtvis användargränssnittselement eller de element som visas som en del av GUI i applikationen.
Dessa fönsterkomponenter är som följer:
- Informationselement: Elementen eller komponenterna som ger oss information som etiketter, ikoner, banners eller meddelandedialoger.
- Ingångskontroller: Textfält, knappar, rullgardinslistor, kryssrutor, radioknappar etc. är ingångskontrollerna som gör att vi kan läsa data från användaren.
- Navigationskomponenter: Komponenter som menyn, sidofält, brödsmulor etc. hjälper oss att navigera genom applikationen.
Låt oss nu beskriva några viktiga komponenter i GUI.
Ram i Java
En ram är ett grafiskt fönster som syns på skärmen. En ram kan ses som en komponent men eftersom den bildar ett fysiskt fönster som vi kan se på skärmen behandlas den annorlunda än de andra komponenterna. En ram kan ha andra grafiska komponenter som knappar, textfält etc. och paneler också.
Ramar har också metoder som inte stöds av andra komponenter. “Java.awt.Frame” representerar en klass i AWT medan JFrame är den klass som finns i Java Swing-paketet som representerar en ram.
Så vilket GUI-program som helst börjar med att konstruera ett JFrame-objekt som utgör huvudfönstret. När JFrame-objektet har skapats kan vi ställa in dess synliga egenskap till true genom att anropa setVisible ('true'). Sedan kan vi dra och släppa de andra komponenterna i den här ramen.
Alla GUI-komponenter inklusive ramar har några vanliga egenskaper eftersom de är en del av en vanlig arvshierarki som visas ovan. Så vi kan säga att det finns ett kraftfullt fall av koddelning i Java Swing-paketet.
Följande bild visar ett typiskt ramfönster i GUI-redigeraren.
Som vi kan se från figuren ovan är det yttersta fönstret i designredigeraren (markerad med en mindre röd pil) ramen. Inuti denna ram har vi olika andra komponenter eller underkomponenter i ramen.
Detta framgår av panelen på vänster sida som visar komponenternas trädstruktur. Som markerat med en större röd pil är JFrame rotkomponenten och sedan är alla andra komponenter dess underkomponenter.
JPanel i Java
JPanel container är en del av Swing-paketet i Java. JPanel lagrar en grupp komponenter. JPanel organiserade komponenterna med hjälp av layouten. Olika layouter kan hjälpa JPanel att bättre organisera komponenterna.
JPanel betraktas som en grundläggande byggsten för komponentlayout i en ram eller inuti andra paneler. Ett GUI-program har vanligtvis Frame som huvudfönster och en eller flera paneler inuti det för att hålla och organisera olika komponenter.
hur man gör makefile c ++
Följande bild visar ett enkelt exempel på en panel inuti en ram.
Som visas ovan är en panelbehållare inbäddad i en ramfönsterbehållare. Vi kan ha en eller flera paneler eller till och med en panel inuti en panel. Sedan kan vi tillämpa vilken layouthanterare som helst på panelen som kommer att organisera komponenterna eller elementen inuti panelen. Standardlayouthanteraren för JPanel är “FlowLayout”.
GUI-layouter i Java
Java-container använder en automatisk layout av komponenter på skärmen. Men komponenternas storlek och position tas om hand av ”layout manager”. Layouthanteraren är inställd för en container vid designtiden. Det kan också ändras dynamiskt.
Vanliga layouter som används i Java GUI är:
# 1) BorderLayout
Gränslayouten delar upp komponenten i 5 områden enligt nedan.
Av dessa är fyra områden, nämligen 'Nord', 'Södra', 'Öst' och 'Västra', icke-storlek. Området 'Center' kan ändras. Observera att varje område har en gräns på endast en komponent och paneler kan användas för att hålla flera komponenter.
# 2) FlowLayout: Denna layout används för att hålla flera komponenter. Flera komponenter är ordnade horisontellt och de lindas om behållarens bredd är förbrukad. Komponenter visas också i ordning från vänster till höger.
# 3) BoxLayout: Med hjälp av boxlayouten är komponenterna ordnade antingen vertikalt eller horisontellt. Detta arrangemang av lådlayouten är oberoende av behållarens storlek. Komponenterna i behållaren är inställda så att de fyller behållaren och har samma storlekar.
Dessa var några av de viktiga och vanliga komponenterna som vi har i GUI-utvecklingen. I våra efterföljande handledning om AWT och Swing kommer vi att gå in i detaljerna om de andra komponenterna som tillhandahålls av dessa paket.
Vanliga frågor
F # 1) Vad är GUI-programmering?
Svar: De program som utvecklats med hjälp av grafiska komponenter som interagerar med datorn med hjälp av pekdonet och är händelsestyrda, dvs det utför vissa åtgärder när vissa händelser utlöses och kallas GUI-programmering.
En GUI-programmering använder GUI-ramar där vi direkt kan ansluta och använda grafiska komponenter.
F # 2) Vilket GUI ska jag använda med Java?
Svar: Java stöder några av de bästa ramarna som vi kan använda för att utveckla GUI-applikationer som visas nedan:
- JavaFX.
- Swing GUI Java.
- AWT: Abstract Windowing Toolkit.
- SWT- Standard Widget Toolkit.
- Apache Pivot.
- SwingX.
- JGoodies.
- QtJambi.
F # 3) Vilka är fördelarna med ett GUI?
Svar: GUI-programmet gör applikationer interaktiva, intuitiva och lättare att använda och lära sig. Eftersom de ger användaren grafiska bilder har åtgärderna mer effekt och därmed får vi omedelbar visuell feedback om applikationen.
F # 4) Vad är JavaFX API?
Internet of Things företag att titta på
Svar: JavaFX är det senaste Java-biblioteket skrivet i den ursprungliga Java-koden och innehåller klasser och gränssnitt. JavaFX kan användas för att utforma GUI-applikationer i Java-versioner senare än Java 8.
F # 5) Är Java bra för GUI?
Svar: Även om Java har fler verktyg för att utveckla GUI-applikationer tillsammans med det bästa stödet, är det inte så snabbt och lika effektivt som MFC-biblioteket i C ++ som har nästan alla funktioner för att utveckla avancerade GUI-applikationer.
Slutsats
I denna handledning undersökte vi GUI-programmering i Java. Vi introducerade några av de viktiga begreppen för GUI-programmering i Java och såg också en översikt över de GUI-ramar som stöds av Java. Vi diskuterade översikten över JFC-biblioteket.
=> Kontrollera ALLA Java-handledning här.
Rekommenderad läsning
- Introduktion till Java-programmeringsspråk - Videohandledning
- OOP Java: Introduktion till objektorienterad programmering i Java
- Java Float Tutorial med programmeringsexempel
- Java Double - Handledning med programmeringsexempel
- Java SWING-handledning: Container, komponenter och händelsehantering
- Java Reverse String: Handledning med programmeringsexempel
- Java-komponenter: Java Platform, JDK, JRE och Java Virtual Machine
- Java-sträng jämför med metod med programmeringsexempel