Adviezen

Luisteraars van Java-evenementen en hoe ze werken

Luisteraars van Java-evenementen en hoe ze werken



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Een gebeurtenislistener in Java is ontworpen om een ​​soort gebeurtenis te verwerken - deze "luistert" naar een gebeurtenis, zoals een muisklik van een gebruiker of een toetsaanslag, en reageert daarop. Een gebeurtenislistener moet verbonden zijn met een gebeurtenisobject dat de gebeurtenis definieert.

Bijvoorbeeld grafische componenten zoals een JButton of JTextField staan ​​bekend alsevenement bronnen. Dit betekent dat ze evenementen kunnen genereren (genaamd gebeurtenisobjecten), zoals het verstrekken van een JButton voor een gebruiker om te klikken, of een JTextField waarin een gebruiker tekst kan invoeren. De taak van de luisteraar van het evenement is om die evenementen te vangen en er iets mee te doen.

Hoe gebeurtenisluisteraars werken

Elke gebeurtenislistener-interface bevat ten minste één methode die wordt gebruikt door de equivalente gebeurtenisbron.

Laten we voor deze discussie een muisgebeurtenis overwegen, d.w.z. elke keer dat een gebruiker op een muis klikt, vertegenwoordigd door de Java-klasse MouseEvent. Om dit soort gebeurtenis af te handelen, zou u eerst een MouseListener klasse die de Java implementeert MouseListener interface. Deze interface heeft vijf methoden; implementeer degene die betrekking heeft op het type muisactie dat u van uw gebruiker verwacht. Dit zijn:

  • void mouseClicked (MouseEvent e)
    Wordt opgeroepen wanneer op een muisklik op een component is geklikt (ingedrukt en losgelaten).

  • void mouseEntered (MouseEvent e)
    Wordt opgeroepen wanneer de muis een component invoert.

  • void mouseExited (MouseEvent e)
    Wordt opgeroepen wanneer de muis een component verlaat.

  • void mousePressed (MouseEvent e)
    Wordt opgeroepen wanneer op een component op een muisknop is gedrukt.

  • void mouseReleased (MouseEvent e)
    Wordt opgeroepen wanneer een muisknop op een component is losgelaten

Zoals u ziet, heeft elke methode een enkele parameter voor een gebeurtenisobject: de specifieke muisgebeurtenis waarvoor deze is ontworpen. In uw MouseListener klas, jij registreren om naar deze gebeurtenissen te 'luisteren', zodat u op de hoogte wordt gebracht wanneer ze zich voordoen.

Wanneer de gebeurtenis wordt geactiveerd (bijvoorbeeld, klikt de gebruiker op de muis, volgens de mouseClicked () methode hierboven), een relevante MouseEvent object dat die gebeurtenis vertegenwoordigt, wordt gemaakt en doorgegeven aan deMouseListener object geregistreerd om het te ontvangen.

Soorten gebeurtenisluisteraars

Luisteraars van evenementen worden vertegenwoordigd door verschillende interfaces, die elk zijn ontworpen om een ​​gelijkwaardige gebeurtenis te verwerken.

Merk op dat gebeurtenisluisteraars flexibel zijn in die zin dat een enkele luisteraar kan worden geregistreerd om te "luisteren" naar meerdere soorten gebeurtenissen. Dit betekent dat voor een vergelijkbare set componenten die hetzelfde type actie uitvoeren, één gebeurtenislistener alle gebeurtenissen kan verwerken.

Hier zijn enkele van de meest voorkomende typen:

  • ActionListener: Luistert naar een ActionEvent, d.w.z. wanneer op een grafisch element wordt geklikt, zoals een knop of item in een lijst.
  • ContainerListener: Luistert naar een ContainerEvent, wat kan gebeuren als de gebruiker een object toevoegt of verwijdert uit de interface.
  • KeyListener: Luistert naar een Sleutelmoment waarin de gebruiker een toets indrukt, typt of loslaat.
  • WindowListener: Luistert naar een WindowEventbijvoorbeeld wanneer een venster wordt gesloten, geactiveerd of gedeactiveerd.
  • MouseListener: Luistert naar eenMouseEvent, bijvoorbeeld wanneer op een muis wordt geklikt of gedrukt.


Bekijk de video: Toemen Modelsport - Bedrijfsovername Jasper Toemen (Augustus 2022).