Java-händelser lyssnar och hur de fungerar

En händelse lyssnar i Java är utformad för att bearbeta någon form av händelse - den "lyssnar" på en händelse, till exempel en användares musklick eller en knapptryckning, och sedan svarar den därefter. En händelse lyssnaren måste vara ansluten till ett händelseobjekt som definierar händelsen.

Till exempel grafiska komponenter som a JButton eller JTextField är kända som händelsekällor. Detta innebär att de kan generera händelser (kallas händelseobjekt), Såsom att tillhandahålla en JButton för en användare att klicka, eller a JTextField där en användare kan skriva in text. Evenemangets lyssnares jobb är att fånga dessa evenemang och göra något med dem.

Så fungerar händelserna

Varje händelse lyssnargränssnitt inkluderar minst en metod som används av motsvarande händelsekälla.

För denna diskussion, låt oss överväga en mushändelse, dvs när som helst en användare klickar på något med en mus, representerad av Java-klassen Mouseevent. För att hantera den här typen av händelser skulle du först skapa en MouseListener klass som implementerar Java MouseListener gränssnitt. Detta gränssnitt har fem metoder; implementera den som hänför sig till den typ av musåtgärd du förutser att din användare ska vidta. Dessa är:

  • void mouseClicked (MouseEvent e)

    Åkallas när musknappen har klickats (tryckt och släppt) på en komponent.
  • void mouseEntered (MouseEvent e)

    Åkallas när musen kommer in i en komponent.
  • void mouseExited (MouseEvent e)

    Åkallas när musen lämnar en komponent.
  • void mousePression (MouseEvent e)

    Åkallas när en musknapp har tryckts på en komponent.
  • void mouseReleased (MouseEvent e)

    Åkallas när en musknapp har släppts på en komponent

Som ni kan se har varje metod en enda händelseobjektparameter: den specifika mushändelsen den är utformad för att hantera. I din MouseListener klass, du Registrera att "lyssna på" någon av dessa händelser så att du blir informerad när de inträffar.

När händelsen avfyras (till exempel klickar användaren på musen enligt mouseClicked () metoden ovan), en relevant Mouseevent objekt som representerar den händelsen skapas och skickas till MouseListener objekt registrerat för att ta emot det. 

Typer av evenemangets lyssnare

Event lyssnarna representeras av olika gränssnitt, var och en är utformad för att bearbeta en motsvarande händelse.

Observera att händelse lyssnarna är flexibla genom att en enda lyssnare kan registreras för att "lyssna" på flera typer av händelser. Detta innebär att för en liknande uppsättning komponenter som utför samma typ av åtgärd kan en händelse lyssnaren hantera alla händelser.

Här är några av de vanligaste typerna:

  • Action: Lyssnar på en Action, dvs. när man klickar på ett grafiskt element, t.ex. en knapp eller ett objekt i en lista.
  • ContainerListener: Lyssnar på a ContainerEvent, vilket kan uppstå om användaren lägger till eller tar bort ett objekt från gränssnittet.
  • keyListener: Lyssnar på a KeyEvent där användaren trycker på, skriver eller släpper en tangent.
  • Window: Lyssnar på a WindowEvent, till exempel när ett fönster stängs, aktiveras eller inaktiveras.
  • MouseListener: Lyssnar på a  Mouseevent, till exempel när man klickar eller trycker på en mus.