Nasłuchiwanie zdarzeń Java i sposób ich działania
Java zapewnia wiele typów detektorów zdarzeń do przetwarzania zdarzeń GUI
Detektor zdarzeń w Javie odbiera i przetwarza zdarzenia GUI jak kliknięcie myszą. Gary John Norman/Getty Images
Słuchacz zdarzeń wJawajest przeznaczony do przetwarzania pewnego rodzaju zdarzenia — „nasłuchuje” zdarzenia, takiego jak kliknięcie myszą użytkownika lub naciśnięcie klawisza, a następnie odpowiednio reaguje. Detektor zdarzeń musi być połączony z obiektem zdarzenia, który definiuje zdarzenie.
Na przykład komponenty graficzne, takie jak a JPrzycisk lub JTextField są znane jako źródła zdarzeń . Oznacza to, że mogą generować zdarzenia (tzw obiekty eventowe ), takich jak dostarczanie JPrzycisk aby użytkownik mógł kliknąć, lub JTextField w którym użytkownik może wprowadzić tekst. Zadaniem słuchacza zdarzeń jest wyłapanie tych zdarzeń i zrobienie z nimi czegoś.
Jak działają detektory zdarzeń
Każdy interfejs nasłuchiwania zdarzeń zawiera co najmniej jedną metodę używaną przez równoważne źródło zdarzeń.
Na potrzeby tej dyskusji rozważmy zdarzenie myszy, tj. za każdym razem, gdy użytkownik kliknie coś myszą, reprezentowane przez klasę Java MyszZdarzenie . Aby obsłużyć tego typu zdarzenie, najpierw utworzysz Odbiornik myszy klasa implementująca Java Odbiornik myszy interfejs. Ten interfejs ma pięć metod; zaimplementuj tę, która odnosi się do rodzaju działania myszy, którego oczekujesz od użytkownika. To są:
- |_+_|
Wywoływane po kliknięciu przycisku myszy (naciśnięciu i zwolnieniu) na komponencie. - |_+_|
Wywoływane, gdy mysz wchodzi do komponentu. - |_+_|
Wywoływane, gdy mysz wychodzi z komponentu. - |_+_|
Wywoływane po naciśnięciu przycisku myszy na komponencie. - |_+_|
Wywoływane po zwolnieniu przycisku myszy na komponencie
Jak widać, każda metoda ma jeden parametr obiektu zdarzenia: konkretne zdarzenie myszy, które ma obsłużyć. W Twoim Odbiornik myszy klasa, ty Zarejestruj się aby „posłuchać” któregokolwiek z tych zdarzeń, aby być informowanym o ich wystąpieniu.
Gdy zdarzenie zostanie uruchomione (na przykład użytkownik kliknie myszą, zgodnie z Kliknięcie myszą() metody powyżej), odpowiedni MyszZdarzenie obiekt reprezentujący to zdarzenie jest tworzony i przekazywany do Odbiornik myszy obiekt zarejestrowany do jego odbioru.
Rodzaje słuchaczy zdarzeń
Detektory zdarzeń są reprezentowane przez różne interfejsy, z których każdy jest przeznaczony do przetwarzania równoważnego zdarzenia.
Należy zauważyć, że detektory zdarzeń są elastyczne, ponieważ jeden detektor może być zarejestrowany do „nasłuchiwania” wielu typów zdarzeń. Oznacza to, że w przypadku podobnego zestawu komponentów, które wykonują ten sam typ akcji, jeden detektor zdarzeń może obsłużyć wszystkie zdarzenia.
Oto niektóre z najczęstszych typów:
- KeyListener : Nasłuchuje Ważne wydarżenie w którym użytkownik naciska, wpisuje lub zwalnia klawisz.