Adobe AIR Drag and Drop

Hier ein einfaches Beispiel, das zeigt, wie Drag-and-Drop mit Adobe AIR funktioniert. Man kann eine Datei auf die markierte Fläche ziehen. Daraufhin wird unterhalb der Dateiname angezeigt. Auch mehrere Dateien können gleichzeitig gezogen werden.

Als Authoringumgebung wurde Flash CS3 verwendet. Über die Flash-Extension für Adobe AIR hatte ich bereits berichtet. Sie wurde heute aktualisiert für Version 1.0 von Adobe AIR.

Der Code des Beispiels lautet:

CODE:
  1. import flash.filesystem.File;
  2. import flash.events.NativeDragEvent;
  3. import flash.desktop.*;
  4.  
  5. // event listener hinzufügen
  6. dropBox.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDrag);
  7. dropBox.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDrop);
  8.  
  9.  
  10. function onDrag(evt:NativeDragEvent):void {
  11.    
  12.         // akzeptieren, das Dateien auf dieses Object gezogen werden können; (+) erscheint
  13.         NativeDragManager.acceptDragDrop(dropBox);
  14. }
  15.  
  16.  
  17.  
  18. function onDrop(evt:NativeDragEvent):void {
  19.    
  20.     // files als array abspeichern
  21.     var dropFiles:Array = evt.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
  22.    
  23.     // Für jedes File
  24.     for each (var file:File in dropFiles) {
  25.        
  26.             // Texthinweis ausgeben
  27.             addText (file.nativePath);
  28.            
  29.      }
  30.     
  31. }
  32.        
  33.        
  34.        
  35. function addText(path:String) {
  36.    
  37.     // MAC OS X: file:// davorhöngen
  38.     if ( Capabilities.os.search("Mac")>= 0 ) {
  39.         path =  "file://" + path + "\n";
  40.     }
  41.    
  42.     myTextField.appendText (path);
  43.    
  44.    
  45. }

Download: Quelldateien (.zip)
Link: Adobe AIR Update für Flash CS3