Java Event Listers Behandler brukeraktivitet i en GUI

En begivenhetslytter i Java er designet for å behandle en slags hendelse - den "lytter" etter en hendelse, for eksempel brukerens museklikk eller et tastetrykk, og deretter svarer den deretter. En hendelseslytter må være koblet til et hendelsesobjekt som definerer hendelsen.

For eksempel grafiske komponenter som a JButton eller JTextField er kjent som hendelseskilder. Dette betyr at de kan generere hendelser (kalt hendelsesobjekter), for eksempel å gi en JButton for en bruker å klikke, eller a JTextField der en bruker kan legge inn tekst. Jobblytterens jobb er å fange hendelsene og gjøre noe med dem.

Slik fungerer eventlyttere

Hver hendelse lyttergrensesnitt inkluderer minst en metode som brukes av den tilsvarende hendelseskilden.

La oss vurdere en musebegivenhet, dvs. når en bruker klikker på noe med en mus, representert av Java-klassen Mouseevent. For å håndtere denne typen hendelser, oppretter du først en MouseListener klasse som implementerer Java MouseListener grensesnitt. Dette grensesnittet har fem metoder; implementere den som angår typen museaksjon du forventer at brukeren skal ta. Disse er:

instagram viewer

  • void mouseClicked (MouseEvent e)

    Påkalles når museknappen har blitt klikket (trykket og sluppet) på en komponent.
  • void mouseEntered (MouseEvent e)

    Påkalles når musen kommer inn i en komponent.
  • void mouseExited (MouseEvent e)

    Påkalles når musen går ut av en komponent.
  • void mousePression (MouseEvent e)

    Påkalles når en museknapp er trykket på en komponent.
  • void mouseReleased (MouseEvent e)

    Påkalles når en museknapp er gitt ut på en komponent

Som du kan se, har hver metode en enkelt hendelsesobjektparameter: den bestemte musebegivenheten den er designet for å håndtere. I din MouseListener klasse, du registrere å "lytte til" noen av disse hendelsene, slik at du blir informert når de oppstår.

Når hendelsen avfyres (for eksempel klikker brukeren musen, iht mouseClicked () metoden over), en relevant Mouseevent objekt som representerer den hendelsen blir opprettet og sendt til MouseListener objekt registrert for å motta det.

Typer hendelseslyttere

Begivenhetslyttere er representert med forskjellige grensesnitt, som hver er designet for å behandle en likeverdig hendelse.

Legg merke til at hendelseslyttere er fleksible ved at en enkelt lytter kan registreres for å "lytte" til flere typer arrangementer. Dette betyr at for et lignende sett med komponenter som utfører samme type handling, kan en hendelseslyttere håndtere alle hendelsene.

Her er noen av de vanligste typene:

  • Action: Lytter til en Actione, dvs. når du klikker på et grafisk element, for eksempel en knapp eller et element i en liste.
  • ContainerListener: Lytter til a ContainerEvent, som kan oppstå hvis brukeren legger til eller fjerner et objekt fra grensesnittet.
  • KeyListener: Lytter til a KeyEvent der brukeren trykker, skriver eller slipper en tast.
  • WindowListener: Lytter til a WindowEvent, for eksempel når et vindu er lukket, aktivert eller deaktivert.
  • MouseListener: Lytter til a Mouseevent, for eksempel når en mus klikkes eller trykkes.
instagram story viewer