AIR'de sürükle ve bırak temelleri

Adobe AIR 1.0 ve üstü

Bir AIR uygulamasında sürükle ve bırakı kullanmakla ilgili hızlı bir açıklama ve kod örnekleri için Adobe Geliştirici Bağlantısında bulunan aşağıdaki hızlı başlangıç makalelerini inceleyin:

Sürükle ve bırak API'si aşağıdaki sınıfları içerir.

Paket

Sınıflar

flash.desktop

Sürükle ve bırak API'siyle kullanılan sabitlerin tanımlandığı sabitler:

flash.events

NativeDragEvent

Sürükle ve bırak hareket sahneleri

Sürükle ve bırak hareketinin üç sahnesi vardır:

Başlatma
Kullanıcı, fare düğmesini basılı tutarak bir bileşeni veya bileşendeki öğeyi sürükleyerek sürükle ve bırak işlemini başlatır. Sürüklenen öğenin kaynağı olan bileşen genellikle sürükleme başlatıcısı olarak belirlenir ve nativeDragStart ve nativeDragComplete olaylarını gönderir. Adobe® AIR uygulaması, mouseDown veya mouseMove olayına yanıt olarak NativeDragManager.doDrag() yöntemini çağırarak bir sürükleme işlemi başlatır.

Sürükleme işlemi AIR uygulamasının dışından başlatıldıysa nativeDragStart veya nativeDragComplete olaylarını gönderecek başlatıcı nesne bulunmaz.

Sürükleme
Fare düğmesini basılı tutarken kullanıcı fare imlecini başka bir bileşene, uygulamaya veya masaüstüne taşır.Sürükleme işlemi devam ederken, başlatıcı nesne nativeDragUpdate olaylarını gönderir. (Ancak bu olay Linux için AIR'de gönderilmez) Kullanıcı fareyi AIR uygulamasındaki olası bir bırakma hedefinin üzerine taşıdığında, bırakma hedefi bir nativeDragEnter olayı gönderir. Olay işleyicisi, sürüklenen verilerin hedef tarafından kabul edilecek bir biçimde mevcut olup olmadığını belirlemek için olay nesnesini denetleyebilir, mevcutsa NativeDragManager.acceptDragDrop() yöntemini çağırarak kullanıcının verileri bırakmasını sağlar.

Sürükleme hareketi etkileşimli bir nesnenin üzerinde kaldığı sürece, bu nesne nativeDragOver olaylarını gönderir. Sürükleme hareketi etkileşimli nesneyi bıraktığında, bir nativeDragExit olayı gönderir.

Düşür
Kullanıcı fare düğmesini uygun bir bırakma hedefinin üzerinde serbest bırakır. Hedef bir AIR uygulaması veya bileşeni olduğunda, hedef nesne bir nativeDragDrop olayı gönderir. Olay işleyicisi olay nesnesinden aktarılan verilere erişebilir. Hedef, AIR'in dışındaysa, bırakma işlemini işletim sistemi veya başka bir uygulama yapar. Her iki durumda da, başlatan nesne bir nativeDragComplete olayı gönderir (sürükleme AIR'in içinden başlatıldıysa).

NativeDragManager sınıfı hem içeri hem de dışarı sürükleme hareketlerini kontrol eder. NativeDragManager sınıfının tüm üyeleri statiktir, bu sınıfın bir örneğini oluşturmayın.

Clipboard nesnesi

Bir uygulamanın veya bileşenin içine ya da dışına sürüklenen veriler bir Clipboard nesnesinde bulunmaktadır. Tek bir Clipboard nesnesi, başka bir uygulamanın verileri anlayıp kullanabilmesi olasılığını arttırmak için aynı bilgilerin farklı temsillerini kullanılabilir hale getirebilir. Örneğin bir görüntü, görüntü verisi, serileştirilmiş Bitmap nesnesi veya bir dosya olarak dahil edilebilir. Bir biçimde veri oluşturma işlemi, veriler okunana kadar çağrılmayan bir oluşturma işlevine ertelenebilir.

Bir sürükleme hareketi başladıktan sonra Clipboard nesnesine yalnızca nativeDragEnter, nativeDragOver ve nativeDragDrop olayları için olay işleyicisinin içinden erişilebilir. Sürükleme hareketi bittikten sonra Clipboard nesnesi okunamaz veya yeniden kullanılamaz.

Bir uygulama nesnesi başvuru olarak ve serileştirilmiş bir nesne olarak aktarılabilir. Başvurular yalnızca kaynak uygulama içinde geçerlidir. Serileştirilmiş nesne aktarımları AIR uygulamaları arasında geçerlidir, ancak yalnızca serileştirildiğinde ve serileştirmesi kaldırıldığında geçerliliği devam eden nesnelerle kullanılabilir. Serileştirilen nesneler dize tabanlı veri aktarım biçimi olan ActionScript 3 (AMF3) için Action Message Format'a dönüştürülür.

Flex çerçevesiyle çalışma

Çoğu durumda, Flex uygulamaları oluştururken Adobe® Flex™ sürükle ve bırak API'sini kullanmak daha yararlıdır. AIR'de bir Flex uygulaması çalıştırıldığında (AIR NativeDragManager öğesini dahili şekilde kullanır), Flex çerçevesi eşdeğer bir özellik kümesi sağlar. Flex ayrıca, bir uygulama veya bileşen daha kısıtlayıcı bir tarayıcı ortamında çalışırken, daha sınırlı bir özellik setini korur. AIR sınıfları, AIR çalışma zamanı ortamının dışında çalışan bileşenlerde veya uygulamalarda kullanılamaz.