Məsləhətlər

Java Hadisə Dinləyiciləri və Necə İşlədikləri

Java Hadisə Dinləyiciləri və Necə İşlədikləri

Java'da bir hadisə dinləyicisi bir növ hadisəni emal etmək üçün hazırlanmışdır - istifadəçinin siçan düyməsini vurması və ya düyməni basması kimi bir hadisə üçün "qulaq asır" və sonra da buna uyğun cavab verir. Bir hadisə dinləyicisi hadisəni təyin edən bir hadisə obyektinə bağlı olmalıdır.

Məsələn, a kimi qrafik komponentlər JButton Və ya JTextField kimi tanınırlarhadisə mənbələri. Bu hadisələr yarada bilməsi deməkdir (deyilir) hadisə obyektləri) kimi təmin edir JButton bir istifadəçi klikləmək üçün və ya a JTextField bir istifadəçi mətn daxil edə bilərsiniz. Tədbir dinləyicisinin işi o hadisələri tutmaq və onlarla bir şey etməkdir.

Hadisə Dinləyiciləri necə işləyir

Hər bir hadisə dinləyici interfeysi, ekvivalent hadisə mənbəyi tərəfindən istifadə olunan ən azı bir metodu ehtiva edir.

Bu müzakirə üçün bir siçan hadisəsini nəzərdən keçirək, yəni hər zaman bir istifadəçi Java sinfi ilə təmsil olunan bir siçan ilə nəyisə tıklayır MouseEvent. Bu cür hadisəni idarə etmək üçün əvvəlcə bir yaradacaqsınız MouseListener Java tətbiq edən sinif MouseListener interfeysi. Bu interfeys beş üsula malikdir; istifadəçinizi alacağını gözlədiyiniz siçan hərəkət növü ilə əlaqəli birini həyata keçirin. Bunlar:

  • boş siçan vurdu (MouseEvent e)
    Bir komponent üzərində siçan düyməsini tıklandığında (basıldı və buraxıldı) çağırıldı.

  • boş siçan Girdi (MouseEvent e)
    Siçan bir komponentə girəndə səsləndi.

  • boş siçanExited (MouseEvent e)
    Siçan bir komponentdən çıxdıqda səsləndi.

  • boş siçanPressed (MouseEvent e)
    Bir komponentə bir siçan düyməsini basdıqda səsləndi.

  • boş siçanReleased (MouseEvent e)
    Bir komponentə bir siçan düyməsini buraxıldıqda səsləndi

Gördüyünüz kimi, hər metodun tək bir hadisə obyekti parametri var: idarə etmək üçün nəzərdə tutulmuş xüsusi siçan hadisəsi. Sizin MouseListener sinif, siz qeyd edin bu hadisələrin hər hansı birinə "qulaq asmaq" üçün baş verən zaman sizə məlumat verilsin.

Hadisə alovlandıqda (məsələn, istifadəçi siçanı klikləyir siçan vurdu () metod yuxarıda), müvafiq MouseEvent həmin hadisəni təmsil edən obyekt yaradılır və ötürülürMouseListener obyekt almaq üçün qeydə alınmışdır.

Hadisə dinləyicilərinin növləri

Tədbir dinləyiciləri, hər biri ekvivalent bir hadisəni emal etmək üçün hazırlanmış fərqli interfeyslərlə təmsil olunur.

Qeyd edək ki, tədbir dinləyiciləri bir növ dinləyicinin bir çox növ hadisəni "dinləmək" üçün qeydiyyatdan keçə bilməsi üçün çevikdirlər. Bu, eyni hərəkəti yerinə yetirən oxşar komponentlər dəsti üçün bir hadisəni dinləyicinin bütün hadisələri idarə edə bilməsi deməkdir.

Ən çox yayılmış növlərdən bəziləri:

  • FəaliyyətListener: Bir dinləyir FəaliyyətEvent, yəni siyahıdakı bir düymə və ya element kimi bir qrafik element tıklandığında.
  • KonteynerListener: A dinləyir KonteynerEvent, istifadəçi interfeysdən bir obyekt əlavə edərsə və ya çıxararsa baş verə bilər.
  • KeyListener: A dinləyir KeyEvent istifadəçi düyməni basır, yazır və ya buraxır.
  • WindowListener: A dinləyir WindowEventməsələn, bir pəncərə bağlandıqda, aktivləşdirildikdə və ya deaktiv olunduqda.
  • MouseListener: A dinləyirMouseEventkimi bir siçan tıklandığında və ya basıldığında.


Videoya baxın: Android 101 by Fred Widjaja (Avqust 2021).