Hoe gebeurtenisafhandeling in Java te implementeren?



Dit artikel zal u helpen een belangrijk concept te begrijpen: Gebeurtenisafhandeling in Java. Samen met de programmatische implementatie

Heeft u zich tijdens het gebruik van verschillende programma's op uw pc of mobiele Android-applicaties afgevraagd welke code wordt uitgevoerd na het klikken op een knop of een schakelaar? De meeste programma's en mobiele applicaties zijn geschreven in Java. heeft speciale manieren om met deze situaties om te gaan, bekend als gebeurtenisafhandeling. In dit bericht gaan we dieper in op het concept van Event Handling in Java en begrijpen we dat het tot in detail werkt.

Dus laten we beginnen,





java breekt uit methode

Afhandeling van gebeurtenissen in Java

Bron en evenementen

Bij het begrijpen van het concept van het afhandelen van gebeurtenissen bent u wellicht termen tegengekomen zoals bronnen, gebeurtenissen, enz. Bronnen en gebeurtenissen zijn enkele van de basistermen die we moeten begrijpen voordat we naar gebeurtenisafhandeling kijken.

Evenement

Wanneer u op een knop in uw programma of Android-applicatie drukt, verandert de status van de knop van ‘Unclicked’ in ‘Clicked’. Deze wijziging in de status van onze knop wordt een gebeurtenis genoemd. Gebeurtenissen worden gegenereerd op basis van hoe u omgaat met de GUI. Bijvoorbeeld: het invoeren van tekst via het toetsenbord, het verplaatsen van uw cursor, scrollen, enz. Genereert gebeurtenissen.



Bron

In Java is bijna alles een object. De knop die u indrukt, is ook een object. Sorce is het object dat een gebeurtenis genereert. Met andere woorden, een bron is een object dat een toestandsverandering ondergaat. Het geeft ook informatie over de gebeurtenis aan de luisteraar. In de andere helft van dit bericht zullen we het hebben over de luisteraar.

Nu we weten wat de bron en de gebeurtenis is, gaan we verder met het volgende deel van deze gebeurtenisafhandeling in het Java-artikel,

Luisteraars

Nu weten we over de gebeurtenissen en de bronnen. Dit is een goed moment om over de luisteraars te praten. Luisteraars worden ook wel gebeurtenishandlers genoemd, omdat zij verantwoordelijk zijn voor het afhandelen van gebeurtenissen bij de bron. Luisteraars zijn interfaces en afhankelijk van de gebeurtenis worden verschillende soorten luisteraars gebruikt.



Voor een beter begrip zullen we naar de ActionListener kijken, aangezien dit de meest gebruikte gebeurtenislistener is, en zien hoe deze de gebeurtenissen precies afhandelt.

import java.awt. * import java.awt.event. * class EventHandle breidt Frame implementeert ActionListener {TextField textField EventHandle () {textField = new TextField () textField.setBounds (60,50,170,20) Button button = nieuwe Button (' Quote ') button.setBounds (90,140,75,40) // 1 button.addActionListener (this) add (button) add (textField) setSize (250,250) setLayout (null) setVisible (true)} // 2 public void actionPerformed ( ActionEvent e) {textField.setText ('Keep Learning')} public static void main (String args []) {new EventHandle ()}}

Uitvoer - Afhandeling van gebeurtenissen in Java - Edureka Uitvoer

(1) (2)

Afbeelding 1 toont de uitvoer van onze code toen de status van de knop niet werd aangeklikt. Afbeelding 2 toont de output nadat de knop is ingedrukt.

Laten we doorgaan met het afhandelen van gebeurtenissen in het java-artikel en de logica achter de code bekijken en ActionListener in detail begrijpen.

Allereerst hebben we alle belangrijke pakketten geïmporteerd die nodig zijn om de benodigde functionaliteiten te implementeren. Na het importeren van pakketten hebben we de ActionListener-interface geïmplementeerd in onze klasse EventHandle.

Kijk nu naar de code. Ik heb deze in twee belangrijke delen verdeeld. In het eerste deel registreren we ons knopobject bij de ActionListener. Dit wordt gedaan door de addActionListener () - methode aan te roepen en de huidige instantie door te geven met ‘this’ trefwoord.

button.addActionListener (deze)

Zodra we onze knop hebben geregistreerd bij de ActionListener, moeten we het actie uitgevoerd( ) methode waaraan een klasseobject moet doorgegeven worden ActionEvent .

De code die in deze methode wordt geschreven, wordt uitgevoerd wanneer zich een gebeurtenis voordoet.Daarom kunnen we zeggen dat deze methode een sleutelrol speelt in het afhandelingsproces van gebeurtenissen.Laten we vervolgens in dit gevalafhandeling in Java-artikel een kijkje nemen bij enkele gebeurtenisafhandelaars,

html-tag voor regeleinde

Lijst met luisteraars

Evenement

Methoden om te 'overschrijven'

EvenListener

ActieEvent- Gebeurtenissen gegenereerd door knoppen, menu-items, enz.

actionPerformed (ActionEvent e)

ActionListener

Sleutelmoment- Gebeurtenissen die worden gegenereerd wanneer invoer wordt ontvangen van het toetsenbord.

keyPressed (KeyEvent ke)

keyTyped (KeyEvent ke)

keyReleased (KeyEvent ke)

substring in SQL-servervoorbeeld

KeyListener

Item Evenement Gebeurtenissen gegenereerd op basis van lijst, keuzerondje, enz.

itemStateChanged (ItemEvent ie)

ItemListener

MouseEvent - Gebeurtenis gegenereerd door de muis

mouseMoved (MouseEvent me)

mouseDragged (MouseEvent me)

MouseMotionListener

Dit brengt ons bij het laatste deel van deze gebeurtenisafhandeling in het Java-artikel,

Delegatie-evenementmodel

We kennen de bron, luisteraar en gebeurtenis. Laten we nu eens kijken naar het model dat deze 3 entiteiten samenvoegt en ze synchroon laten werken. Het delegatiegebeurtenismodel wordt gebruikt om de taak uit te voeren. Het bestaat uit 2 componenten Bron en luisteraar. Zodra de bron een gebeurtenis genereert, wordt deze opgemerkt door de luisteraar en handelt hij de gebeurtenis af. Om deze actie te laten plaatsvinden, moet de component of de bron worden geregistreerd bij de luisteraar, zodat deze kan worden geïnformeerd wanneer er een gebeurtenis plaatsvindt.

De specialiteit van het delegation Event Model is dat de GUI-component het eventverwerkingsgedeelte doorgeeft aan een volledig aparte set code.

De afhandeling van gebeurtenissen is snel en efficiënt.Zo zijn we aan het einde gekomen van dit artikel over ‘Afhandeling van gebeurtenissen in Java in Java’. Als u meer wilt weten,bekijk de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel en we nemen zo snel mogelijk contact met u op.