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