Zdarzenia Java i jak działają z detektorami zdarzeń

Na zdarzenie w Javie to obiekt tworzony, gdy coś zmienia się w graficznym interfejsie użytkownika. Jeśli użytkownik kliknie przycisk, kliknie pole kombi lub wpisuje znaki w polu tekstowym itp., Wówczas wyzwala się zdarzenie, tworząc odpowiedni obiekt zdarzenia. To zachowanie jest częścią mechanizmu obsługi zdarzeń Java i jest zawarte w bibliotece Swing GUI.

Załóżmy na przykład, że mamy JButton. Jeśli użytkownik kliknie przycisk JButton, uruchamiane jest zdarzenie kliknięcia przycisku, zdarzenie zostanie utworzone i zostanie wysłane do odpowiedniego detektor zdarzeń (w tym przypadku ActionListener). Odpowiedni odbiornik zaimplementuje kod, który określa akcję, która ma zostać podjęta po wystąpieniu zdarzenia.

Zauważ, że źródło zdarzenia musi być sparowane z detektorem zdarzeń, w przeciwnym razie jego uruchomienie nie spowoduje żadnych działań.

Jak działają wydarzenia

Obsługa zdarzeń w Javie składa się z dwóch kluczowych elementów:

  • Źródło zdarzenia, czyli obiekt tworzony po wystąpieniu zdarzenia. Java udostępnia kilka rodzajów tych źródeł zdarzeń, omówionych w sekcji
    instagram viewer
    Rodzaje zdarzeń poniżej.
  • Detektor zdarzeń, obiekt, który „nasłuchuje” zdarzeń i przetwarza je po ich wystąpieniu.

W Javie istnieje kilka rodzajów zdarzeń i detektorów: każdy typ zdarzenia jest powiązany z odpowiednim detektorem. W tej dyskusji zastanówmy się nad typowym wydarzeniem, an wydarzenie akcji reprezentowane przez klasę Java ActionEvent, która jest uruchamiana, gdy użytkownik kliknie przycisk lub element listy.

Na akcję użytkownika ActionEvent tworzony jest obiekt odpowiadający odpowiedniej akcji. Ten obiekt zawiera zarówno informacje o źródle zdarzenia, jak i konkretne działanie podjęte przez użytkownika. Ten obiekt zdarzenia jest następnie przekazywany do odpowiedniego ActionListener metoda obiektu:

 void actionPerformed (ActionEvent e)

Ta metoda jest wykonywana i zwraca odpowiednią odpowiedź GUI, którą może być otwarcie lub zamknięcie okna dialogowego, pobierz plik, podaj podpis cyfrowy lub dowolną inną z niezliczonych czynności dostępnych dla użytkowników w pliku berło.

Rodzaje zdarzeń

Oto niektóre z najczęstszych rodzajów zdarzeń w Javie:

  • ActionEvent: Reprezentuje kliknięcie elementu graficznego, takiego jak przycisk lub element na liście. Powiązany słuchacz: ActionListener.
  • ContainerEvent: Reprezentuje zdarzenie, które występuje w samym kontenerze GUI, na przykład, jeśli użytkownik doda lub usunie obiekt z interfejsu. Powiązany słuchacz: ContainerListener.
  • Ważne wydarżenie: Reprezentuje zdarzenie, w którym użytkownik naciska, wpisuje lub zwalnia klucz. Powiązany słuchacz: KeyListener.
  • WindowEvent: Reprezentuje zdarzenie związane z oknem, na przykład, gdy okno jest zamknięte, aktywowane lub dezaktywowane. Powiązany słuchacz: WindowListener.
  • MouseEvent: Reprezentuje każde zdarzenie związane z myszą, na przykład kliknięcie lub naciśnięcie myszy. Powiązany słuchacz: MouseListener.

Pamiętaj, że wielu słuchaczy i źródeł zdarzeń mogą ze sobą współdziałać. Na przykład pojedynczy odbiornik może zarejestrować wiele zdarzeń, jeśli są tego samego typu. Oznacza to, że w przypadku podobnego zestawu komponentów wykonujących ten sam typ akcji jeden detektor zdarzeń może obsłużyć wszystkie zdarzenia. Podobnie, pojedyncze zdarzenie może być powiązane z wieloma odbiornikami, jeśli odpowiada to projektowi programu (chociaż jest to mniej powszechne).