en begivenhed i Java er et objekt, der oprettes, når noget ændres inden for en grafisk brugergrænseflade. Hvis en bruger klikker på en knap, klikker på en kombinationsboks eller indtaster tegn i et tekstfelt osv., Udløses en begivenhed, hvilket skaber det relevante hændelsesobjekt. Denne opførsel er en del af Java's Event Handling-mekanisme og er inkluderet i Swing GUI-biblioteket.
Lad os for eksempel sige, at vi har en JButton. Hvis en bruger klikker på JButton, en knapklikshændelse udløses, begivenheden oprettes, og den sendes til den relevante begivenhedslytter (i dette tilfælde ActionListener). Den relevante lytter har implementeret kode, der bestemmer handlingen, der skal udføres, når begivenheden finder sted.
Bemærk, at en begivenhedskilde skal blive parret med en begivenhedslytter, ellers udløser det ingen handling.
Sådan fungerer begivenheder
Begivenhedshåndtering i Java består af to nøgleelementer:
- Begivenhedskilden, som er et objekt, der oprettes, når en begivenhed opstår. Java leverer flere typer af disse begivenhedskilder, diskuteret i sektionen Typer af begivenheder under.
- Begivenhedslytteren, det objekt, der "lytter" til begivenheder og behandler dem, når de forekommer.
Der er flere typer begivenheder og lyttere i Java: hver type begivenhed er bundet til en tilsvarende lytter. Lad os overveje en fælles type begivenhed til denne diskussion, en action-begivenhed repræsenteret af Java-klassen ActionEvent, der udløses, når en bruger klikker på en knap eller elementet på en liste.
Ved brugerens handling, an ActionEvent objekt, der svarer til den relevante handling, oprettes. Dette objekt indeholder både information om begivenhedskilden og den specifikke handling, der er truffet af brugeren. Dette hændelsesobjekt føres derefter til det tilsvarende ActionListener objektets metode:
void actionPerformed (ActionEvent e)
Denne metode udføres og returnerer det passende GUI-svar, som kan være at åbne eller lukke en dialog, downloade en fil, give en digital signatur eller en hvilken som helst anden af de utallige handlinger, der er tilgængelige for brugere i en grænseflade.
Typer af begivenheder
Her er nogle af de mest almindelige typer begivenheder i Java:
- ActionEvent: Representerer, at der klikkes på et grafisk element, f.eks. En knap eller et element på en liste. Relateret lytter: ActionListener.
- ContainerEvent: Repræsenterer en begivenhed, der finder sted i selve GUI's container, hvis en bruger tilføjer eller fjerner et objekt fra grænsefladen. Relateret lytter: ContainerListener.
- KeyEvent: Repræsenterer en begivenhed, hvor brugeren trykker på, skriver eller frigiver en nøgle. Relateret lytter: KeyListener.
- WindowEvent: Repræsenterer en begivenhed, der vedrører et vindue, for eksempel når et vindue lukkes, aktiveres eller deaktiveres. Relateret lytter: WindowListener.
- MouseEvent: Repræsenterer enhver begivenhed, der er relateret til en mus, f.eks. Når der klikkes på eller trykkes på en mus. Relateret lytter: MouseListener.
Bemærk, at flere lyttere og begivenhedskilder kan interagere med hinanden. For eksempel kan flere begivenheder registreres af en enkelt lytter, hvis de er af samme type. Dette betyder, at for et lignende sæt komponenter, der udfører den samme type handling, kan en begivenhedslytter håndtere alle begivenheder. Tilsvarende kan en enkelt begivenhed være bundet til flere lyttere, hvis det passer til programmets design (selvom det er mindre almindeligt).