Ан догађај у Јави је објект који се ствара када се нешто промени унутар графичког корисничког интерфејса. Ако корисник кликне на дугме, кликне на комбинирани оквир или упише знакове у текстуално поље итд., Тада се активира догађај, креирајући релевантни објект догађаја. Ово понашање је дио Јава-овог механизма за управљање догађајима и укључено је у Свинг ГУИ библиотеку.
На пример, рецимо да имамо ЈБуттон. Ако корисник кликне на ЈБуттон, покреће се догађај притиска на дугме, догађај ће бити креиран и биће послан релевантним слушалац догађаја (у овом случају АцтионЛистенер). Одговарајући слушалац ће имати имплементирани код који одређује акцију коју треба предузети када се догађај догоди.
Имајте на уму да је извор догађаја мора бити упарен са слушаоцем догађаја или његово активирање неће резултирати ничим.
Како функционишу догађаји
Управљање догађајима на Јави састоји се од два кључна елемента:
- Извор догађаја, што је објект који се ствара када се догоди догађај. Јава нуди неколико врста ових извора догађаја о којима је речи у одељку Врсте догађаја испод.
- Слушалац догађаја, објект који „слуша“ догађаје и обрађује их када се појаве.
На Јави постоји неколико врста догађаја и слушалаца: свака врста догађаја је везана за одговарајућег слушаоца. За ову расправу размотримо уобичајену врсту догађаја, ан акциони догађај представља класа Јава АцтионЕвент, која се активира када корисник кликне на дугме или ставку листе.
На корисникову акцију АцтионЕвент ствара се предмет који одговара одговарајућој радњи. Овај објект садржи информације о извору догађаја и специфичне радње које је предузео корисник. Овај објект догађаја се затим прослеђује одговарајућем АцтионЛистенер метода објекта:
воид ацтионПерформед (АцтионЕвент е)
Ова метода се извршава и враћа одговарајући одговор ГУИ-а, који може бити отварање или затварање дијалога, преузмите датотеку, обезбедите дигитални потпис или било које друге небројене акције доступне корисницима у интерфејс.
Врсте догађаја
Ево неких од најчешћих типова догађаја на Јави:
- АцтионЕвент: Представља да се кликне графички елемент, као што је дугме или ставка на листи. Сродни слушалац: АцтионЛистенер.
- ЦонтаинерЕвент: Представља догађај који се догоди самом контејнеру ГУИ-а, на пример, ако корисник дода или уклони објект из интерфејса. Сродни слушалац: ЦонтаинерЛистенер.
- КеиЕвент: Представља догађај у којем корисник притисне, унесе или отпусти кључ. Сродни слушалац: КеиЛистенер.
- ВиндовЕвент: Представља догађај који се односи на прозор, на пример, када је прозор затворен, активиран или деактивиран. Сродни слушалац: ВиндовЛистенер.
- МоусеЕвент: Представља сваки догађај који се односи на миш, на пример када се миш кликне или притисне. Сродни слушалац: МоусеЛистенер.
Имајте на уму да више слушалаца и извори догађаја могу међусобно комуницирати. На пример, један слушатељ може да региструје више догађаја ако су истог типа. То значи да за сличан скуп компоненти које изводе исту врсту акције један слушатељ догађаја може да поднесе све догађаје. Слично томе, један догађај може бити везан за више слушалаца, ако то одговара дизајну програма (иако је то мање уобичајено).