Pencere olaylarını dinleme

Adobe AIR 1.0 ve üstü

Bir pencerenin gönderdiği olayları dinlemek için, pencere örneğiyle bir dinleyiciyi kaydedin. Örneğin, closing olayını dinlemek için, bir dinleyiciyi pencereyle aşağıdaki gibi kaydedin:

myWindow.addEventListener(Event.CLOSING, onClosingEvent); 

Bir olay gönderildiğinde target özelliği olayı gönderen pencereye başvurur.

Çoğu pencere olayının iki ilişkili mesajı vardır. İlk mesaj, bir pencere değişikliği yapılacağına (ve bunun iptal edilebileceğine) işaret ederken, ikinci mesaj değişikliğin gerçekleştiğini bildirir. Örneğin, kullanıcı pencerenin kapatma düğmesini tıklattığında, closing olayı mesajı gönderilir. Hiçbir dinleyici olayı iptal etmezse, pencere kapatılır ve close olayı tüm dinleyicilere gönderilir.

Genellikle closing gibi uyarı olayları, yalnızca bir olayı tetiklemek için sistem kromu kullanıldıysa gönderilir. Örneğin, pencere close() yönteminin çağrılması otomatik olarak closing olayını göndermez—yalnızca close olayı gönderilir. Ancak, bir closing olayı nesnesi oluşturabilir ve bunu pencerenin dispatchEvent() yöntemini kullanarak gönderebilirsiniz.

Bir Event nesnesi gönderen pencere olayları:

Olay

Açıklama

activate

Pencere odak aldığında gönderilir.

deactivate

Pencere odağı kaybettiğinde gönderilir.

closing

Pencere kapatılmak üzere olduğunda gönderilir. Bu otomatik olarak yalnızca sistem kromu kapatma düğmesine basıldığında veya Mac OS X'te Çıkış komutu çağrıldığında gerçekleşir.

close

Pencere kapatıldığında gönderilir.

Bir NativeWindowBoundsEvent nesnesi gönderen pencere olayları:

Olay

Açıklama

moving

Pencerenin sol üst köşesi taşıma, yeniden boyutlandırma veya pencere görüntü durumu değişikliği sonucunda konumunu değiştirmeden hemen önce gönderilir.

move

Sol üst köşe konumunu değiştirdikten sonra gönderilir.

resizing

Pencere genişliği veya yüksekliği, yeniden boyutlandırma veya görüntü durumu değişikliği sonucunda değişmeden hemen önce gönderilir.

resize

Pencere boyut değiştirdikten sonra gönderilir.

NativeWindowBoundsEvent olayları için, bekleyen veya tamamlanan bir değişiklikten önce ve sonraki pencere sınırlarını belirlemek üzere beforeBounds ve afterBounds özelliklerini kullanabilirsiniz.

Bir NativeWindowDisplayStateEvent nesnesi gönderen pencere olayları:

Olay

Açıklama

displayStateChanging

Pencere görüntü durumu değişmeden hemen önce gönderilir.

displayStateChange

Pencere görüntü durumu değiştikten sonra gönderilir.

NativeWindowDisplayStateEvent olayları için, bekleyen veya tamamlanan bir değişiklikten önce ve sonraki pencere görüntü durumunu belirlemek üzere beforeDisplayState ve afterDisplayState özelliklerini kullanabilirsiniz.

Bazı Linux pencere yöneticilerinde, maksimum boyuta ayarına sahip bir pencere büyütüldüğünde, görüntü durum değişikliği olayı gönderilmez. (Pencere maksimum görüntü durumuna ayarlanır, ancak yeniden boyutlandırılmaz.)