Inleiding tot JFC en GUI programmering in Java

In deze tutorial worden de basisprincipes van GUI (Graphical User Interface) programmering en Java Foundation Classes of JFC in Java besproken:

In onze vorige tutorials hebben we onderwerpen behandeld variërend van de basisprincipes van Java-achtige gegevenstypen, variabelen, besluitvorming, en lusconstructies, enz. tot arrays, collecties en methoden in Java.

We hebben ook het concept van multithreading en excepties besproken. Daarna hebben we de Java OOPS ondersteuning geleerd. Met behulp van al deze concepten kunnen we in Java toepassingen op hoog niveau ontwikkelen, die zowel herbruikbaar en robuust als op zichzelf staand zijn.

=> Check Here To See A-Z Of Java Training Tutorials.

In deze tutorial beginnen we met onze discussie over het grafisch ontwikkelen van toepassingen in Java. Net als alle andere concepten biedt Java talloze herbruikbare grafische klassen en APIS, zodat we onze grafische gebruikersinterface (GUI) kunnen ontwikkelen.

Wat is een grafische gebruikersinterface in Java

Grafische gebruikersinterface of simpelweg “GUI” genoemd, is een algemene term die in de softwarewereld wordt gebruikt. Een GUI vertegenwoordigt een toepassing die een visueel display heeft voor de gebruiker met eenvoudig te gebruiken controls. Een GUI bestaat over het algemeen uit grafische componenten zoals vensters, frames, knoppen, labels, etc.

We kunnen deze componenten gebruiken voor interactie met het systeem of zelfs de buitenwereld. Java biedt vele APIs en herbruikbare klassen waarmee we GUI applicaties kunnen ontwikkelen. Een van de oudste door Java geleverde kits is “Abstract Windowing ToolKit” of AWT. Alle nieuwere API’s of componenten zoals Swing; JavaFX, etc. zijn gebaseerd op deze AWT.

Console programma’s die we tot nu toe hebben geschreven zijn even belangrijk, maar we moeten weten dat alle nieuwste moderne desktop applicaties grafisch ingeschakeld zijn. Dit betekent dat ze een kant-en-klare GUI hebben die het de eindgebruiker makkelijker maakt om de applicatie met een muisklik te gebruiken.

Merk op dat het schrijven van een GUI niet zo eenvoudig is als het tekenen van wat vormen of het opnemen van afbeeldingen. De GUI bevat een opeenvolging van activiteiten die ook een aantal events triggeren die op hun beurt een aantal acties uitvoeren bij het aanroepen van een component of een deel van een component zoals door op een knop te klikken we een aantal acties triggeren.

Dus een GUI applicatie is een framework dat bestaat uit grafische componenten & events die kunnen worden getriggerd op deze componenten en de acties die worden uitgevoerd als gevolg van de events trigger.

Frameworks bieden gewoonlijk voorgecompileerde herbruikbare klassen en componenten die we in het tekengebied kunnen slepen en vervolgens de gebeurtenissen en acties aan deze componenten kunnen koppelen.

Java biedt de volgende hoofdframeworks.

Java biedt de volgende frameworks voor GUI programmering:

  1. Abstract Windowing Toolkit: Dit is het oudste framework in Java en het werd voor het eerst geïntroduceerd in JDK 1.0. De meeste AWT componenten zijn nu verouderd en zijn vervangen door Java swing componenten.
  2. Swing API: Dit is een set van grafische bibliotheken ontwikkeld bovenop het AWT framework en is een onderdeel van Java Foundation Classes (JFC). Swing heeft een modulaire architectuur waarin we plug-and-play voor de componenten kunnen gebruiken.
  3. JavaFX: Het nieuwste framework is beschikbaar vanaf Java 8.

Er zijn verschillende grafische frameworks van derden zoals Eclipse’s Standard Widget Toolkit (SWT) of Google Web Toolkit (GWT) die op Android worden gebruikt.

Java Foundation Classes (JFC)

Java biedt een set features en functionaliteit voor het ontwikkelen van grafische gebruikersinterfaces of GUI’s. Deze set functies staat bekend als Java Foundation Classes of JFC.

Met behulp van JFC kunnen we rijke grafische functionaliteit aan toepassingen toevoegen en ze ook interactiever maken. JFC bevat een set van grafische componenten die eenvoudig in onze applicatie kunnen worden ingepast en geprogrammeerd volgens onze eisen. Maar het programmeren van deze componenten neemt meestal slechts een paar regels code in beslag.

JFC bevat klassen uit de java.awt en javax.swing pakketten. Afgezien daarvan bevat het ook klassen met betrekking tot Java 3D, Java 2D, Java Accessibility, enz. JFC is in sync met Java’s object en componenten model en is dus gemakkelijk te gebruiken.

Het volgende diagram vat de verschillende componenten in JFC samen.

Zoals hierboven getoond, bevat JFC zowel AWT als Swing klassen. We zullen elk van deze bespreken als we verder gaan met Java AWT en Java Swing tutorials. JFC biedt ook verschillende methoden die we kunnen gebruiken binnen onze applicatie.

Enkele van de meest gebruikte methoden zijn:

publicid setLayout(LayoutManager m)

publicid setVisible(boolean b)

Method Beschrijving
public void add(Component c) Voegt een component toe aan de oudercomponent die de methode aanroept.
publicid setSize(int width,int height) Stelt de grootte in van een component met een opgegeven breedte en hoogte.
Stel de opgegeven layout manager in voor dit component.
Stel de zichtbaarheid van het component in volgens de boolean waarde. Standaard is de zichtbaarheid false.

Nu gaan we verder met het bespreken van de GUI componenten op een algemeen niveau. In de volgende tutorials zullen we de AWT en Swing pakketten en hun componenten specifiek bespreken.

Window Components

We weten dat de bovenliggende container van elke GUI applicatie een Window is dat een of meer frames kan bevatten.

Een GUI bevat over het algemeen gebruikers interface elementen of de elementen die worden weergegeven als onderdeel van de GUI in de applicatie.

Deze venster componenten zijn als volgt:

  • Informational Elements: De elementen of componenten die ons informatie geven zoals labels, iconen, banners of berichtendialogen.
  • Invoercontroles: Tekstvelden, knoppen, dropdown lijsten, checkboxes, radio buttons, etc. zijn de input controls die ons in staat stellen om gegevens van de gebruiker te lezen.
  • Navigational Components: Componenten zoals het menu, sidebars, breadcrumbs, etc. helpen ons om door de applicatie te navigeren.

Laten we nu een aantal belangrijke componenten in de GUI beschrijven.

Frame In Java

Een frame is een grafisch venster dat zichtbaar is op het scherm. Een frame kan worden gezien als een component, maar omdat het een fysiek venster vormt dat we op het scherm kunnen zien, wordt het anders behandeld dan de andere componenten. Een frame kan ook andere grafische componenten hebben, zoals knoppen, tekstvelden, enz. en panelen.

Frames hebben ook methoden die niet door andere componenten worden ondersteund. “java.awt.Frame” vertegenwoordigt een klasse in AWT terwijl JFrame de klasse is in het Java Swing pakket dat een Frame vertegenwoordigt.

Dus elke GUI applicatie zal beginnen met het construeren van een JFrame object dat het hoofd venster vormt. Zodra het JFrame object is gemaakt, kunnen we de zichtbare eigenschap op true zetten door setVisible (‘true’) op te roepen. Daarna kunnen we de andere componenten in dit frame slepen.

Alle GUI componenten, inclusief frames, hebben een aantal gemeenschappelijke eigenschappen omdat ze deel uitmaken van een gemeenschappelijke overervings hiërarchie die hierboven is weergegeven. We kunnen dus zeggen dat er een krachtig geval is van code-sharing in het Java Swing pakket.

De volgende figuur toont een typisch frame venster in de GUI editor.

Zoals we kunnen zien in de bovenstaande figuur, is het buitenste venster in de ontwerp editor (gemarkeerd met een kleinere rode pijl) het frame. Binnen dit frame, hebben we verschillende andere componenten of kind-componenten van het frame.

Dit blijkt uit het paneel aan de linkerkant dat een boomstructuur van de componenten laat zien. Zoals aangegeven door een grotere rode pijl, is JFrame de root component en dan zijn alle andere componenten zijn child componenten.

JPanel In Java

JPanel container is een onderdeel van het Swing pakket in Java. JPanel slaat een groep van componenten. JPanel georganiseerd de componenten met behulp van de lay-out ingesteld door het. Verschillende lay-outs kunnen JPanel helpen om de componenten beter te organiseren.

JPanel wordt beschouwd als een basis bouwsteen voor component layout in een frame of binnen andere panels. Een GUI toepassing heeft meestal een Frame als hoofdvenster en een of meer panels daarbinnen om verschillende componenten te bevatten en te organiseren.

De volgende afbeelding toont een eenvoudig voorbeeld van een panel binnen een frame.

Zoals hierboven te zien is, is een Panel container ingebed in een Frame venster container. We kunnen een of meer panelen hebben of zelfs een paneel in een paneel. Dan kunnen we een layout manager toepassen op het paneel dat de componenten of elementen in het paneel zal organiseren. De standaard layout manager voor JPanel is “FlowLayout”.

GUI Layouts In Java

Java container gebruikt een automatische layout van componenten op het scherm. Maar de grootte en posities van de componenten worden verzorgd door de ‘layout manager’. De layout manager wordt voor een container ingesteld tijdens het ontwerpen. Hij kan ook dynamisch worden gewijzigd.

Gemeenschappelijke layouts die in Java GUI worden gebruikt zijn:

#1) BorderLayout

De border layout verdeelt de component in 5 gebieden zoals hieronder is afgebeeld.

Van deze gebieden zijn 4 gebieden, namelijk “North”, “South”, “East” en “West” niet resizable. Het gebied “Center” is resizable. Merk op dat elk gebied een limiet heeft van slechts één component en dat panelen kunnen worden gebruikt om meerdere componenten te bevatten.

2) FlowLayout: Deze lay-out wordt gebruikt om meerdere componenten te bevatten. Meerdere componenten worden horizontaal gerangschikt en ze worden omwikkeld als de containerbreedte is bereikt. Ook worden de componenten weergegeven in de volgorde van links naar rechts.

#3) BoxLayout: Met behulp van de boxlay-out worden de componenten verticaal of horizontaal gerangschikt. Deze rangschikking van de box layout is onafhankelijk van de grootte van de container. De componenten in de container worden zo gezet dat ze de container vullen en identieke afmetingen hebben.

Dit waren enkele van de belangrijke en veel voorkomende componenten die we hebben in GUI ontwikkeling. In onze volgende tutorials over AWT en Swing, zullen we ingaan op de details van de andere componenten die deze pakketten bieden.

Veel Gestelde Vragen

Vraag #1) Wat is GUI programmeren?

Antwoord: De programma’s ontwikkeld met behulp van grafische componenten die interactie met de computer met behulp van het aanwijsapparaat en is event-driven dat wil zeggen het voert een aantal acties wanneer bepaalde gebeurtenissen worden geactiveerd, en wordt GUI-programmering genoemd.

Een GUI-programmering maakt gebruik van GUI-frameworks waarin we direct grafische componenten kunnen inpluggen en gebruiken.

2Q) Welke GUI te gebruiken met Java?

Antwoord: Java ondersteunt enkele van de beste frameworks die we kunnen gebruiken om GUI-toepassingen te ontwikkelen, zoals hieronder weergegeven:

  • JavaFX.
  • Swing GUI Java.
  • AWT: Abstract Windowing Toolkit.
  • SWT- Standard Widget Toolkit.
  • Apache Pivot.
  • SwingX.
  • JGoodies.
  • QtJambi.

Q #3) Wat zijn de voordelen van een GUI?

Antwoord: GUI-programma’s maken toepassingen interactief, intuïtief, en gemakkelijker te gebruiken en te leren. Omdat ze de gebruiker grafische beelden bieden, hebben de acties meer effect en krijgen we dus direct visuele feedback over de applicatie.

Vraag #4) Wat is JavaFX API?

Antwoord: JavaFX is de nieuwste Java bibliotheek geschreven in de native Java code en bevat klassen en interfaces. JavaFX kan worden gebruikt om GUI-toepassingen te ontwerpen in Java-versies later dan Java 8.

Vraag #5) Is Java goed voor GUI?

Antwoord: Hoewel Java meer tools heeft om GUI applicaties te ontwikkelen samen met de beste ondersteuning, is het niet zo snel en zo efficiënt als de MFC library van C++ die bijna alle mogelijkheden heeft om geavanceerde GUI applicaties te ontwikkelen.

Conclusie

In deze tutorial hebben we GUI programmeren in Java verkend. We hebben enkele belangrijke concepten van GUI programmering in Java geïntroduceerd en ook een overzicht gezien van de GUI frameworks die door Java worden ondersteund. We bespraken het overzicht van de JFC library.

=> Bekijk ALLE Java Tutorials hier.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *