7mar/100
Drag&Drop de fichier dans Air
Voici comment faire simplement un drag&drop de fichier dans une application air :
Tout d''abord il faut ajouter les écouteur dragEnter et dragDrop
component.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDragEnter);
component.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDragDrop);
component.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDragDrop);
Ensuite les fonctions onDragEnter et onDragDrop
private function onDragEnter(e:NativeDragEvent):void
{
//On vérifie qu''il y a bien des fichiers
if(e.clipboard.hasFormat(ClipboardFormats.FILE_LIST_FORMAT))
{
//On récupère le tableau de fichier
var files:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
//On regarde si tous les fichiers on bien la bonne extension (ici jpg)
var dragable:Boolean = true;
for each(var file:File in files)
{
if(file.extension != "jpg")
dragable = false;
}
//On accepte le drop
if(dragable)
DragManager.acceptDragDrop(mediatheque);
}
}
private function onDragDrop(e:NativeDragEvent):void
{
//On récupère le tableau de fichier
var arr:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
var f:File;
//On crée un FileStream pour travailler sur les fichiers
var fs:FileStream;
{
//On vérifie qu''il y a bien des fichiers
if(e.clipboard.hasFormat(ClipboardFormats.FILE_LIST_FORMAT))
{
//On récupère le tableau de fichier
var files:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
//On regarde si tous les fichiers on bien la bonne extension (ici jpg)
var dragable:Boolean = true;
for each(var file:File in files)
{
if(file.extension != "jpg")
dragable = false;
}
//On accepte le drop
if(dragable)
DragManager.acceptDragDrop(mediatheque);
}
}
private function onDragDrop(e:NativeDragEvent):void
{
//On récupère le tableau de fichier
var arr:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
var f:File;
//On crée un FileStream pour travailler sur les fichiers
var fs:FileStream;
//Pour chaque fichiers dans le tableau
for each(f in arr)
{
//On ouvre le fichier
fs.open(f, FileMode.READ);
/* Opérations sur le fichier */
fs.close();
}
}
Et voilà =)
Commentaires (0)
Trackbacks (0)
(Souscrire aux commentaires de cet article)
Aucun trackbacks pour l'instant