java swing tutorial container
In deze uitgebreide video-tutorial over Java Swing worden verschillende componenten van het GUI Swing Framework en gerelateerde concepten zoals JPanel, JFrame, JButton, enz. Uitgelegd:
We gebruiken grafische gebruikersinterfaces (gewoonlijk GUI genoemd) om applicaties te bouwen die een visuele interface hebben door het de gebruiker gemakkelijk te maken om de applicatie te gebruiken.
Het hebben van een visuele interface voor een applicatie maakt de applicatie gemakkelijk te navigeren, de bedieningselementen efficiënter te gebruiken en het is ook visueel aantrekkelijk voor de gebruiker.
Swing wordt voornamelijk gebruikt voor het maken van de GUI voor applicaties.
Bezoek hier om de Java-trainingsserie voor iedereen te zien.
Wat je leert:
- Video-tutorial over Java Swing
- Wat is Java Swing
- Java Swing-componenten
- Swinglessen in Java
- Swing versus JavaFX
- Gevolgtrekking
Video-tutorial over Java Swing
Wat is Java Swing
Java biedt veel GUI-frameworks die ons helpen bij het ontwikkelen van een verscheidenheid aan GUI-applicaties. We hebben er een gezien in onze vorige tutorial, d.w.z. Abstract Window Toolkit of AWT. AWT is een van de oudste GUI-frameworks in Java en is ook platformafhankelijk. Een ander nadeel van AWT zijn de zwaargewicht componenten.
In deze tutorial bespreken we nog een ander GUI-framework in Java, namelijk 'SWING'. Het Swing-framework in Java maakt deel uit van Java Foundation Classes of wordt gewoonlijk JFC's genoemd. JFC is een API die vergelijkbaar is met MFC's (Microsoft Foundation Classes) in C ++. JFC bevat Swing, AWT en Java2D.
Het Swing-framework in Java is bovenop het AWT-framework gebouwd en kan net als AWT worden gebruikt om GUI-applicaties te maken. Maar in tegenstelling tot AWT zijn de Swing-componenten licht van gewicht en platformonafhankelijk.
Het Swing-framework is volledig in Java geschreven. Het Swing-framework in Java wordt geleverd via het ‘javax.swing’ -pakket. De klassen in het pakket javax.swing beginnen met de letter ‘J’. Dus in een javax.swing-pakket hebben we klassen zoals JButton, JFrame, JTextField, JTextArea, enz.
Over het algemeen heeft de Swing API elk besturingselement gedefinieerd in het javax.swing-pakket dat aanwezig is in AWT. Dus swing op een bepaalde manier fungeert als een vervanging van AWT. Swing heeft ook verschillende geavanceerde deelvensters met tabbladen. Swing API in Java past MVC-architectuur (Model View Controller) aan.
De belangrijkste kenmerken van deze architectuur zijn:
- De gegevens van de swingcomponent worden weergegeven met behulp van Model.
- Het wordt visueel weergegeven met behulp van een weergave.
- De controllercomponent van de MVC-architectuur leest de invoer van de gebruiker op de weergave en vervolgens worden deze wijzigingen doorgegeven aan de componentgegevens.
- In elk Swing-onderdeel worden de weergave en de controller samengeknuppeld, terwijl het model een apart model is. Dit geeft swing een insteekbare look en feel.
De kenmerken van de swing API worden hieronder samengevat.
- Zwenkcomponenten zijn platformonafhankelijk.
- De API is uitbreidbaar.
- Swing-componenten zijn licht van gewicht. De swing-componenten zijn geschreven in pure Java en ook componenten worden weergegeven met Java-code in plaats van onderliggende systeemaanroepen.
- Swing API biedt een reeks geavanceerde besturingselementen zoals TabbedPane, Tree, Colorpicker, tabelbesturing, enz. Die rijk zijn aan functionaliteit.
- De zwenkbediening kan in hoge mate worden aangepast. Dit komt doordat het uiterlijk of de look-and-feel van het onderdeel onafhankelijk is van de interne weergave en daarom kunnen we het naar wens aanpassen.
- We kunnen eenvoudig de waarden wijzigen en zo de look-and-feel tijdens runtime veranderen.
Java Swing-componenten
Swing heeft een groot aantal componenten die we in onze programma's kunnen opnemen en gebruik kunnen maken van de rijke functionaliteiten waarmee we zeer aangepaste en efficiënte GUI-applicaties kunnen ontwikkelen.
Dus wat is een onderdeel?
Een component kan worden gedefinieerd als een besturingselement dat visueel kan worden weergegeven en meestal onafhankelijk is. Het heeft een specifieke functionaliteit en wordt weergegeven als een individuele klasse in Swing API.
Bijvoorbeeld, class JButton in swing API is een knopcomponent en biedt de functionaliteit van een knop.
Een of meerdere componenten vormen een groep en deze groep kan in een “Container” worden geplaatst. Een container biedt een ruimte waarin we componenten kunnen weergeven en ook hun afstand, lay-out, enz. Kunnen beheren.
In Java zijn containers onderverdeeld in twee typen, zoals hieronder wordt weergegeven:
Swinglessen in Java
Een Swing API-hiërarchie in Java wordt hieronder weergegeven:
Zoals blijkt uit de bovenstaande hiërarchie, hebben we containerklassen - frame, dialoogvenster, paneel, applet, enz. Er zijn ook componentklassen die zijn afgeleid van de JComponent-klasse van Swing API. Enkele van de klassen die erven van JComponent zijn JLabel, JList, JTextBox, enz.
Enkele van de belangrijke klassen van Swing API zijn als volgt:
- Jvenster: De klasse JWindow van Swing erft de klasse Window rechtstreeks. De klasse JWindow gebruikt ‘BorderLayout’ als de standaardlay-out.
- JPanel: JPanel is een afstammeling van de JComponent-klasse en bevindt zich op dezelfde regels als de AWT-klasse Panel en heeft ‘FlowLayout’ als de standaardlay-out.
- JFrame: JFrame stamt af van de Frame-klasse. De componenten die aan het frame worden toegevoegd, worden de inhoud van het frame genoemd.
- JLabel: JLabel-klasse is een subklasse van de JComponent. Het wordt gebruikt om tekstlabels in de applicatie te maken.
- J Knop: De drukknopfunctionaliteit in Swing wordt geleverd door JButton. We kunnen een string, een pictogram of beide aan het JButton-object koppelen.
- JTextField: De JTextField-klasse biedt een tekstveld waarin we een enkele regel tekst kunnen bewerken.
JFrame in Java
Een frame is in het algemeen een container die andere componenten kan bevatten, zoals knoppen, labels, tekstvelden, enz. Een framevenster kan een titel, een rand en ook menu's, tekstvelden, knoppen en andere componenten bevatten. Een applicatie moet een frame bevatten, zodat we er componenten in kunnen toevoegen.
Het frame in Java Swing wordt gedefinieerd in de klasse javax.swing.JFrame. De klasse JFrame neemt de klasse java.awt.Frame over. JFrame is als het hoofdvenster van de GUI-applicatie met swing.
We kunnen een JFrame-vensterobject maken met behulp van twee benaderingen:
interviewvragen over zeep en rust
# 1) Door de JFrame-klasse uit te breiden
De eerste benadering is het creëren van een nieuwe klasse om een frame te construeren. Deze klasse erft van de JFrame-klasse van het pakket javax.swing.
Het volgende programma implementeert deze aanpak.
Uitgang:
# 2) Door de JFrame-klasse te instantiëren
Uitgang:
In het bovenstaande programma hebben we een frame gemaakt van de JFrame-klasse door een instantie van de JFrame-klasse te maken.
JPanel in Java
Een paneel is een onderdeel dat zich in een kozijnvenster bevindt. Een frame kan meer dan componenten uit één paneel bevatten, waarbij elk paneelcomponent meerdere andere componenten heeft.
In eenvoudigere bewoordingen kunnen we panelen gebruiken om het frame te verdelen. Elk paneel groepeert verschillende andere componenten erin. Met andere woorden, we gebruiken panelen om componenten in het frame te organiseren.
De swing API-klasse die de paneelcomponent implementeert, is JPanel. De klasse JPanel erft van JComponent en heeft FlowLayout als standaardlay-out.
Het volgende programma demonstreert het maken van een paneelcontainer in een frame met behulp van pakketklassen javax.swing.
Uitgang:
Hier hebben we een frame. Binnen het frame maken we een paneel. Vervolgens maken we in het paneel een knop. Op deze manier kunnen we een paneel gebruiken om de andere componenten vast te houden.
JTextArea in Java
TextArea definieert een bewerkbaar tekstveld. Het kan meerdere regels hebben. De swingklasse die het tekstgebied definieert, is JTextArea en neemt de klasse JTextComponent over.
openbare klasse JTextArea breidt JTextComponent uit
De JTextArea-klasse bevat 4 constructors waarmee we een tekstgebied met verschillende opties kunnen maken.
- JTextArea (): Standaard constructor. Maak een leeg tekstgebied.
- JTextArea (tekenreeksen): Creëert een tekstgebied met s als standaardwaarde.
- JTextArea (int rij, int kolom): Creëert een tekstgebied met een opgegeven rij x kolom.
- JTextArea (String s, int row, int column): Creëert een tekst are2a met gespecificeerde rij x kolom en standaardwaarde s.
Het volgende Java-programma toont een voorbeeld van de JTextArea-component in de swing.
Uitgang:
JButton in Java
Een knop is een onderdeel dat wordt gebruikt om een drukknop te maken met een naam of label erop. In swing is de klasse die een gelabelde knop maakt JButton. JButton neemt de klasse AbstractButton over. We kunnen de ActionListener-gebeurtenis aan de knop koppelen om deze actie te laten ondernemen wanneer erop wordt gedrukt.
Laten we een voorbeeldprogramma implementeren voor JButton in Java-swings.
Uitgang:
JList in Java
Een lijst bestaat uit meerdere tekstitems. Gebruikers kunnen een enkel item of meerdere items tegelijk selecteren. De klasse die de lijst in de swing-API implementeert, is JList. JList is een afstammeling van de klasse JComponent.
Hieronder staan de constructeurs van de JList-klasse.
- JList (): Standaardconstructor die een lege, alleen-lezen lijst maakt.
- JList (array () listItem): Maak een JList die aanvankelijk elementen van array listItem bevat.
- JList (ListModel dataModel): Maakt een lijst met elementen van het opgegeven model dataModel.
Een eenvoudige demonstratie van de JList-component wordt hieronder gegeven.
Uitgang:
In het bovenstaande programma definiëren we eerst een lijstModel met daarin kleurinvoeringen. Vervolgens maken we een JList-object en voegen we het listModel eraan toe. Vervolgens wordt het JList-object toegevoegd aan het frame-object dat vervolgens wordt weergegeven.
JComboBox in Java
De klasse JCombobox toont een lijst met keuzes waaruit een gebruiker een optie kan selecteren. De geselecteerde keuze staat bovenaan. JComboBox is afgeleid van de klasse JComponent.
De volgende zijn de constructors die door de JComboBox-klasse worden geleverd:
- JComboBox (): Standaardconstructor die een ComboBox maakt met het standaardgegevensmodel.
- JComboBox (Object () items): Deze constructor maakt een ComboBox met items als elementen van de gegeven array-items.
- JComboBox (vectoritems): Deze constructor leest de elementen van de gegeven vector en construeert een ComboBox met deze elementen als items.
De klasse JComboBox biedt ook methoden om items toe te voegen / te verwijderen, ActionListener, ItemListener, etc. toe te voegen.
In het volgende voorbeeld wordt de implementatie van JComboBox in Java gedemonstreerd.
Uitgang:
JSlider in Java
Met een schuifregelaar kunnen we een specifiek waardenbereik selecteren. In Java Swing API is JSlider de klasse die wordt gebruikt om de slider te implementeren.
samenvoegen sorteeralgoritme c ++
De volgende zijn de constructors die worden geleverd door de JSlider-klasse.
- JSlider (): een standaardconstructor die een schuifregelaar maakt met 50 als beginwaarde en een bereik van 0 tot 100.
- JSlider (int oriëntatie): deze constructor maakt een schuifregelaar zoals hierboven, maar met een gespecificeerde oriëntatie. Oriëntatiewaarde kan JSlider.HORIZONTAL of JSlider.VERTICAL zijn.
- JSlider (int min, int max): deze constructor wordt gebruikt om een horizontale schuifregelaar te maken met de opgegeven min en max.
- JSlider (int min, int max, int value): deze constructor maakt een slider die horizontaal is met de opgegeven waarde van min, max en value.
- JSlider (int oriëntatie, int min, int max, int waarde): deze constructor construeert een schuifregelaar met gespecificeerde oriëntatie, min, max en waarde.
Het volgende programma demonstreert de JSlider in Java met vinkjes. Dit programma demonstreert ook het gebruik van de methoden die worden ondersteund door de JSlider-klasse.
Uitgang:
Afhandeling van gebeurtenissen in Java
Een gebeurtenis kan worden gedefinieerd als een statusverandering van een object. Vanuit het oogpunt van de GUI vindt er een gebeurtenis plaats wanneer de eindgebruiker interactie heeft met de GUI-componenten. De gebeurtenissen die in de GUI worden geactiveerd, kunnen een klik op een knop zijn, scrollen, lijstitems selecteren, tekst wijzigen, enz.
Gebeurtenissen die plaatsvinden in de GUI die hierboven wordt vermeld, zijn meestal gebeurtenissen op de voorgrond. We kunnen ook enkele achtergrondgebeurtenissen hebben, zoals voltooiing van de achtergrondbewerking, het verstrijken van de timer, enz.
Gebeurtenisafhandeling is een mechanisme waarmee een actie wordt ondernomen wanneer zich een gebeurtenis voordoet. Hiervoor definiëren we een methode die ook wel event handler wordt genoemd en die wordt aangeroepen als er een event plaatsvindt. Java gebruikt een standaardmechanisme, het 'Delegation event model' genaamd, om events te genereren en af te handelen.
Het gebeurtenismodel voor delegatie bestaat uit:
# 1) Bron: De bron van de gebeurtenis is het object. Het object waarop een gebeurtenis plaatsvindt, is de bron en de bron is verantwoordelijk voor het verzenden van informatie over de gebeurtenis naar de gebeurtenishandler.
# 2) Luisteraar: De luisteraar is niets anders dan de gebeurtenishandler die verantwoordelijk is voor het ondernemen van een actie wanneer zich een gebeurtenis voordoet. In Java is een luisteraar een object dat wacht op een gebeurtenis. Zodra de gebeurtenis plaatsvindt, verwerkt de luisteraar de gebeurtenis.
De vereiste is om de luisteraar bij het object te registreren, zodat wanneer een gebeurtenis plaatsvindt, de luisteraar deze kan verwerken.
Bijvoorbeeld,voor een knopklikgebeurtenis kunnen we de volgende reeks stappen hebben.
- De gebruiker klikt op de knop die een Click-gebeurtenis genereert.
- Het juiste event class-object wordt gemaakt en de bron- en eventgegevens worden aan dit object doorgegeven.
- Dit gebeurtenisobject wordt vervolgens doorgegeven aan de listener-klasse die bij het object is geregistreerd.
- De luisteraar voert uit en keert terug.
Laten we nu eens kijken naar enkele luisteraars die door Java worden geleverd.
ActionListener in Java
Een actionListener is de luisteraar voor een knop of een menu-item. Als we op een knop klikken, is de knop Listener die erbij betrokken is de actionListener. De actionListener wordt op de hoogte gebracht in de ActionEvent.
Het gebeurtenispakket java.awt.an definieert de ActionListener-interface. Deze interface heeft slechts één methode actionPerformed ().
openbare abstracte ongeldige actionPerformed (ActionEvent e);
Wanneer op een geregistreerd onderdeel zoals een knop wordt geklikt, wordt automatisch de methode actionPerformed () aangeroepen.
De meest gebruikelijke benadering om ActionListener in het programma op te nemen, is door de ActionListener-interface te implementeren en vervolgens de methode actionPerformed () te implementeren.
De stappen om de ActionListener-klasse te implementeren zijn als volgt:
# 1) Implementeer de interface ActionListerner.
openbare klasse ActionListenerImpl implementeert ActionListener
# 2) Registreer de component bij deze luisteraar. Als de knop een component is die we willen registreren bij de luisteraar, dan zullen we deze als volgt registreren:
button.addActionListener (instanceOfListenerclass);
# 3) Implementeer / overschrijf de actionPerformed () methode.
Dus met behulp van de bovenstaande stappen kunnen we elke gebeurtenis aan de GUI-component koppelen.
In het volgende voorbeeld wordt een knopklikgebeurtenis gedemonstreerd met ActionListener.
Uitgang:
Het bovenstaande programma implementeert een ActionListener-evenement. De gebeurtenis is de knopklikgebeurtenis en daaraan hebben we een ActionListener gekoppeld die de tekst in het tekstveld weergeeft door op de knop te klikken.
KeyListener in Java
Elke keer dat er een wijziging is in de status van de sleutel, wordt een KeyListener op de hoogte gebracht. Net als ActionListener is de KeyListener ook te vinden in het pakket java.awt.event.
De KeyListener-interface biedt de volgende methoden:
openbare abstracte ongeldige keyPressed (KeyEvent e);
openbare abstracte ongeldige keyReleased (KeyEvent e);
openbare abstracte ongeldige keyTyped (KeyEvent e);
We moeten de bovenstaande methoden implementeren om de belangrijkste gebeurtenissen aan de component te koppelen. We laten het aan de gebruiker over om een KeyListener-voorbeeld te implementeren met behulp van swings in Java.
Swing-indelingen in Java
Als we verschillende componenten in een container plaatsen, dan zeggen we dat we die componenten neerleggen. Een lay-out kan dus worden gedefinieerd als het positioneren van componenten in een container.
Zolang er minder componenten zijn, kunnen ze handmatig worden geplaatst door middel van drag-drop. Maar het wordt moeilijk om de componenten in grote aantallen te rangschikken. Op dit moment komt de Layout Manager van Java ons te hulp.
LayoutManager is verantwoordelijk voor de lay-out van de componenten in GUI-applicaties. LayoutManager is een interface en wordt geïmplementeerd door alle layoutmanager-klassen. Java biedt de volgende LayoutManager-klassen.
LayoutManager | Omschrijving |
---|---|
javax.swing.GroupLayout | Groepeert de componenten en plaatst ze vervolgens in de container. |
java.awt.BorderLayout | Componenten zijn zo ingedeeld dat ze in vijf richtingen passen, namelijk midden, oost, west, zuid en noord. |
java.awt.FlowLayout | Dit is de standaardlay-out. Het legt de componenten in de gerichte stroom. |
java.awt.GridLayout | Rangschikt de componenten in een rechthoekig raster. |
javax.swing.BoxLayout | Componenten zijn gerangschikt in een doos. |
java.awt.CardLayout | Elke component wordt gezien als een kaart in een kaartspel en er is slechts één component tegelijk zichtbaar. |
java.awt.GridBagLayout | Hiermee worden componenten verticaal, horizontaal of zelfs langs hun basislijnen gerangschikt. Componenten hoeven niet dezelfde maat te hebben. |
javax.swing.ScrollPaneLayout | Gebruikt door de JScrollPane-klasse en is verantwoordelijk voor het rangschikken van componenten in schuifbare containers. |
javax.swing.SpringLayout enz. | Er wordt voorzien in een reeks beperkingen zoals de horizontale en verticale afstand tussen componenten enz. En de componenten zijn gerangschikt volgens deze reeks beperkingen. |
In deze tutorial bespreken we alleen FlowLayout en GridLayout.
FlowLayout in Java
De FlowLayout rangschikt de componenten in stroomrichting achter elkaar. Dit is de standaardlay-out voor de containers zoals Paneel en Applet.
De FlowLayout-klasse in Java die de FlowLayout-manager vertegenwoordigt, bevat de volgende velden en constructors.
Velden van FlowLayout-klasse
- openbare statische laatste int LEADING
- openbare statische finale int TRAILING
- openbare statische laatste int LEFT
- public static final int RECHTS
- openbare statische finale int CENTER
De bovenstaande velden definiëren de posities waarop de componenten worden geplaatst of uitgelijnd.
Constructeurs van FlowLayout-klasse
- FlowLayout (): Dit is een standaardconstructor. Deze constructeur creëert een stroomlay-out met centraal uitgelijnde componenten met een standaard opening van 5 eenheden in de horizontale en verticale richting.
- FlowLayout (int uitlijnen): Deze constructor creëert een stroomlay-out met de opgegeven uitlijningswaarde en met een horizontale en verticale opening van 5 eenheden.
- FlowLayout (int align, int hgap, int vgap): Creëert een stroomlay-out met gespecificeerde uitlijningswaarde en horizontale en verticale tussenruimte.
Hieronder wordt een voorbeeld gegeven van FlowLayout in Java.
Uitgang:
GridLayout in Java
Met behulp van GridLayout kunnen we de componenten op een rechthoekige rastermode opmaken, d.w.z. elke component is in elke rechthoek gerangschikt.
Constructeurs van de klasse GridLayout
- GridLayout (): standaardconstructor die een rasterlay-out genereert met één kolom per component in een rij.
- GridLayout (int rijen, int kolommen): deze constructor genereert een rasterlay-out met gespecificeerde rijen en kolommen. Er is geen opening tussen de componenten.
- GridLayout (int rijen, int kolommen, int hgap, int vgap): met behulp van deze constructor, we genereren een rasterlay-out met gespecificeerde rijen en kolommen en horizontale en verticale openingen.
Het volgende voorbeeld implementeert de GridLayout in Java.
Uitgang:
Setbounds in Java
Als we de programmeervoorbeelden in deze tutorial bekijken voordat we het lay-outonderwerp bekijken, kunnen we zien dat we de lay-out in deze voorbeelden als null hebben ingesteld (setLayout (null)). We hebben gezien dat wanneer we lay-outmanagers in ons programma gebruiken, ze automatisch de componenten positioneren.
Wanneer lay-outmanagers niet worden gebruikt, kunnen we de setBounds-methode gebruiken om de grootte en positie van de component te bepalen. Dus de methode setBounds wordt gebruikt om de component handmatig te positioneren en ook de grootte in te stellen.
De algemene syntaxis van de setBounds-methode is als volgt:
setBounds (int x-coordinate, int y - coordinate, int width, int height)
Laten we nu een voorbeeld van de SetBounds-methode implementeren.
Uitgang:
freeware registry cleaner voor windows 10
In het bovenstaande programma hebben we een knopcomponent. We hebben geen lay-out ingesteld, maar we hebben de methode setBounds gebruikt om de positie en afmetingen in te stellen.
Swing versus JavaFX
Schommel | JavaFX |
---|---|
Swing biedt een API om GUI-componenten te maken. | JavaFX biedt scripts en snelle UI-ontwikkeling in verband met schermbouwer. |
Er zal in toekomstige versies geen nieuwe functionaliteit aan Swing worden toegevoegd. | JavaFX biedt rijke functionaliteit en heeft het potentieel voor meer functies in toekomstige versies. |
We kunnen alle standaard componenten maken met behulp van Swing API. | Met JavaFX kunnen we rijke GUI-componenten maken met een geavanceerde look en feel. |
In Swing is een groot aantal componenten aanwezig. | JavaFX heeft een relatief kleiner aantal componenten. |
Swing is een volledig functionele UI-bibliotheek. | JavaFX is een nieuwe en aankomende API met rijke UI-componenten. |
Swing heeft losse MVC-ondersteuning. | JavaFX ondersteunt consistent MVC-patroon. |
Veel Gestelde Vragen
V # 1) Wordt Swing nog steeds gebruikt in Java?
Antwoord: Ja, Swing wordt nog steeds gebruikt in Java en dat is te zwaar. Soms wordt het gebruikt als een complete vervanging voor AWT. Soms wordt het ook samen met enkele van de AWT-componenten gebruikt. Het wordt zelfs gebruikt met de nieuwste JavaFX. Dus Swing wordt nog steeds gebruikt en zal nog lang worden gebruikt.
Q # 2) Hoe werkt Java Swing?
Antwoord: Swing in Java is geschreven bovenop het AWT-framework. De gebeurtenisafhandeling van AWT wordt dus volledig door swing geërfd. Swing biedt ook een groot aantal componenten die we kunnen gebruiken om efficiënte GUI-applicaties te ontwikkelen.
V # 3) Volgt Swing MVC?
Antwoord: Swing API heeft losse MVC-ondersteuning. Het model vertegenwoordigt de gegevens van de component. De swingcomponent heeft een apart element genaamd Model, terwijl Controller en View samen worden geknuppeld in UI-elementen. Door dit clubbezoek krijgt de schommel een pluggable look en feel.
V # 4) Is JavaFX beter dan Swing?
Antwoord: Swing bestaat al een lange tijd en heeft meer volwassen IDE-ondersteuning. Het had ook een zeer grote bibliotheek met componenten. JavaFX is relatief nieuwer en heeft een kleine bibliotheek met componenten, maar met meer consistente updates en consistente MVC-ondersteuning. Het hangt er dus van af hoe JavaFX zich verder ontwikkelt en meer functies biedt.
V # 5) Wat is beter AWT of Swing?
Antwoord: Swing is bovenop AWT gebouwd en biedt een rijke en grote reeks UI-componenten in vergelijking met AWT. Swing-componenten kunnen ook hun look en feel hebben in vergelijking met AWT-componenten die een look en feel hebben van het besturingssysteem.
Swing-componenten zijn sneller dan AWT. Al deze factoren maken de swing beter dan AWT.
Meer over Java Swing
Wanneer u een applicatie maakt, moet u in eerste instantie een basiscontainer hebben en moet u de vereiste componenten zoals knoppen en tekstvelden in de container toevoegen.
En wanneer u op een veld klikt of een bewerking uitvoert, vindt de gebeurtenis plaats en moet uw code naar de gebeurtenissen luisteren en ook de gebeurtenis afhandelen.
Zwenkcontainer
Een container is een root-element voor een applicatie. Alle andere componenten worden aan die root toegevoegd en het vormt een hiërarchie.
Er zijn drie containerklassen:
- JFrame
- JDialog
- JApplet
Containerdemo met JFrame:
Als u het bovenstaande programma uitvoert, krijgt u de onderstaande uitvoer.
Componenten
JComponent-klasse is een basisklasse voor alle componenten in een schommel.
De vaak gebruikte componenten zijn:
- JButton
- JTextField
- JTextArea
- JRadioButton
- JComboBox enz.
Al deze componenten moeten aan de container worden toegevoegd, zo niet, dan verschijnt deze niet in de applicatie.
Voorbeeld:
Om de knopinstantie te maken,
JButton clickButton = nieuwe JButton ();
Om de knop aan de container toe te voegen,
myFrame.add ();
Afhandeling van gebeurtenissen
Alle toepassingen worden aangestuurd door gebeurtenissen zoals klikken op knoppen, muisklikken, gebruikerstekstinvoer enz. Wanneer de gebeurtenis zich voordoet, moet u een luisteraar toevoegen en het brongebeurtenisobject doorgeven.
Met een innerlijke klasse kunt u de gebeurtenis afhandelen met uw logica, zoals hieronder wordt weergegeven.
Gevolgtrekking
In deze tutorial hebben we de basis aangeraakt met de Swing API die door Java wordt geleverd voor het bouwen van GUI-applicaties. We hebben de belangrijkste zwenkcontainers en componenten en hun implementatie besproken.
We hebben ook de afhandeling van evenementen besproken in Swing. Hoewel het gebeurtenisafhandelingsmechanisme van AWT is, implementeert swing de gebeurtenissen op een efficiënte manier. Vervolgens bespraken we de verschillende lay-outmanagers van Swing API waarmee we verschillende componenten in de Swing GUI-applicaties kunnen opmaken of rangschikken.
Bekijk hier de perfecte Java-trainingsgids.
Aanbevolen literatuur
- Zelfstudie over reflectie in Java met voorbeelden
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Zelfstudie voor Java Collections Framework (JCF)
- Toegang tot modificatoren in Java - zelfstudie met voorbeelden
- Java String met String Buffer en String Builder Tutorial
- Inleiding tot de programmeertaal van Java - videozelfstudie