Drag & Drop (auch: Drag and Drop) kommt aus dem Englischen und wird mit Ziehen und Fallenlassen bzw. Ablegen übersetzt. Bezeichnet wird auf diese Weise der Transfer von Daten zwischen verschiedenen Anwendungen. Dabei werden beispielsweise Dateien vom Desktop in eine aktive Anwendung gezogen und dort geöffnet, wenn diese mit dem Datentyp umgehen kann.
Als Funktion grafischer Oberflächen gestattet Drag & Drop den Nutzern, komplexe Handlungen intuitiv auszuführen. Elemente, die in die grafische Benutzeroberfläche (Graphical User Interface; GUI) eingebettet sind, werden dabei in den verschiedensten Programmen angewendet. Per Mausklick können unterschiedlichste Daten, Dateien oder Ordner verschoben oder kopiert werden.
Das genaue Jahr der Einführung von Drag & Drop ist nicht bekannt. Es wird jedoch mit der Erstvorlage der Human Interface Guidelines für Anweisungen zur Gestaltung der Benutzeroberflächen durch die Firma Apple in den 1970er Jahren in Zusammenhang gebracht, wo erstmalig auch Kriterien für eine optimale Umsetzung von Drag and Drop erschienen sind.
Neben den Befehlen Kopieren und Einfügen (Copy and Paste) gibt es damit eine zweite Funktion zur Vervielfältigung von Datensätzen, die jedoch anstelle der Zwischenablage, die Puffer von betriebssystemnahen Befehlen nutzt. Für den Datenaustausch innerhalb einer Anwendung unterscheiden sich beide Tools kaum, jedoch bei Vorgängen zwischen unterschiedlichen Applikationen.
Außerdem gibt es mehr Optionen, um das Kommando Drag auszuführen: mit „Shift„, „Control“ und „Alt“ sowie Funktionen über die rechte Maustaste. Auf den heute üblichen Betriebssystemen mit einer grafischen Benutzeroberfläche auf dem aktuellen Stand gehört es zum Standard, Elemente auf andere zu ziehen, wobei der damit verbundene Effekt von der Art dieser Elemente abhängt. Am häufigsten werden Dateien und Ordner bearbeitet. Aber Typ und Anzahl der Objekte sind variabel und können über die mit dem Kopieren und Verschieben direkt verknüpften Aktionen hinausgehen.
Anwendung von Drag & Drop
Die im Einzelnen ausgeführten Aktionen während des Drag & Drop Vorganges sind spezifisch für die Anwendung und abhängig vom Kontext. Bei Drag & Drop eines Ordners, beispielsweise innerhalb desselben Datenträgers werden die Dateien darin standardmäßig verschoben, bei Nutzung der Ressourcen anderer Rechner werden sie kopiert.
Zum Drag & Drop Vorgang gehört das Quellobjekt, von dem das gezogene Element bereitgestellt wird (Drag Source) sowie das Ziel der Ablage, das heißt, die Anwendung, zu der die Daten gelangen (Drop Target). Drag Source und Drop Target können beide in die Benutzeroberfläche derselben oder einer jeweils anderen Anwendung integriert sein. Außerdem ist eine Methode zur temporären Speicherung der zu übertragenen Daten erforderlich. Für die übertragenen Daten existiert in der Regel keine visuelle Wiedergabe, die Auswirkung des Befehls wird jedoch standardmäßig durch eine Cursor-Änderung dargestellt.
Drag & Drop Ablauf
Das „draggable“ Objekt muss als „ziehbar“ definiert sein und als Quelle des entsprechenden Vorgangs fungieren. Die Drag-Quelle ist für das Identifizieren des Ziehvorganges und der zu übertragenden Daten verantwortlich und in der Lage, die Drag & Drop Aktion zu initiieren. Zusätzlich wird über die Quelle der Rahmen für die Auswirkungen auf die transferierten Daten festgelegt.
Mit einer Reihe von Ereignissen lässt sich der Ablauf des Drag & Drop Vorgangs überwachen. Gestartet wird mit dem Handler für „Dragstart„. Während der Drag Aktion können über Handler für „Dragenter, Dragover und Dragleave“ weitere Informationen bereitgestellt werden. Mit einem Listener für die „Drop“-und „Dragend“-Ereignisse ist gewährleistet, dass die Drag-Elemente an dem Drop-Ort abgelegt werden. Mit dem „Dragend“-Ereignis ist die Drag-Operation abgeschlossen, unabhängig, ob sie erfolgreich war oder nicht.
Auch bei der Drag & Drop Routine kommt das DataTransfer-Objekt (DTO) zum Einsatz: Es enthält alle Informationen zu den Daten bei einer Drag-Aktion. Es wird innerhalb des „Dragstart“-Ereignisses festgelegt und während der „Drop“-Aktion gelesen und umgesetzt.
Für den Benutzer werden die signifikanten Schritte einer Drag & Drop Operation begleitend visualisiert. Er erhält eine umgehende Rückmeldung für alle Etappen: wenn die Markierung des Elementes erfolgt ist, über die optische Umsetzung für das Ziehen und Verlassen des Ausgangsortes und das Anzeigen der Drop-Möglichkeiten sowie eine Information über den Erfolg des Drag & Drop Vorgangs. Das Drop-Ziel erscheint nicht länger hervorgehoben. Das verschobene Objekt wird an der neuen Position sichtbar und verschwindet aus der bisherigen.
War die Drag & Drop Aktion nicht erfolgreich oder nicht sinnvoll, springen die an dem Cursor angehefteten Symbole wieder zum Ausgangspunkt zurück und es erscheinen in einigen Versionen Hinweise als Piktogramme oder Verbotsschilder. Werden mehrere Elemente verschoben, wird die Drop-Möglichkeit nur angezeigt, wenn sie für alle gezogenen Elemente ausführbar ist. Benötigen die Aktionen mehr Zeit, erscheint eine Fortschrittsanzeige, wie z. B. eine Sanduhr.
Anwendungsbereiche von Drag & Drop
Drag & Drop hat sich für eine Reihe von Befehlen als Bedienmöglichkeit bewährt. Häufigste Anwendung für Drag & Drop stellt das Ziehen eines Dateisymbols auf ein Ordner-Zeichen dar, um die Datei dorthin zu bewegen, zu kopieren oder eine Verknüpfung zu bewirken. Aber auch Ziehen von markierten Texten zur Änderung des Dokumenten-Aufbaus oder eines Icons auf ein Programmsymbol, um es zu öffnen, gehören zu den Drag & Drop Standards. Das Arrangieren von Objekten, z. B. in einer Liste, gelingt mit dieser Funktion ebenso wie das Verschieben von Bildausschnitten in der Bildbearbeitung. Darüber hinaus kommt Drag & Drop in der Vektorgrafik beim Hantieren an Pfaden oder für Geodienste zum Verschieben einer Karte zum Einsatz.
Der starke Anstieg von Web-Anwendungen und die immer umfangreicher werdenden Angebote durch Webdienste machten die Umsetzung von Drag & Drop ebenfalls auf den Internetseiten sinnvoll. Die Drag & Drop Einbindung gelingt meist nur mit Scriptsprachen, wie z.B. JavaScript, in der clientseitigen Anwendung. Sowohl für Browser-Hersteller, wie Microsoft, als auch Web-Entwickler ist die Investition in die Entwicklung intuitiver Web-Schnittstellen unter Nutzung von Drag & Drop Vorgängen lohnend.
HTML5 und jQuery offerieren bereits Lösungen für eine vollständige Umsetzung von Drag & Drop-Aktionen. DHTML-API als Funktionsbibliothek ist für Web-Entwickler im Rahmen einer Software-Lizenz für die Integration in die eigenen Projekte verfügbar.
Zusammenfassung
Drag & Drop ist eine Benutzeroberflächen-Funktion, die den Transfer von Daten zwischen verschiedenen Anwendungen durch einfaches Ziehen und Ablegen ermöglicht. Ursprünglich in den 1970er Jahren mit Apples Human Interface Guidelines vorgestellt, ist diese Funktion in modernen Betriebssystemen weit verbreitet und ermöglicht komplexe Handlungen auf intuitive Weise.
Zu den Grundelementen des Drag & Drop gehören das Quellobjekt (Drag Source) und das Zielobjekt (Drop Target), zwischen denen Daten übertragen werden. Verschiedene Ereignisse und Handler steuern den Ablauf des Vorgangs und die Auswirkungen können abhängig von der Anwendung und dem Kontext variieren.
Web-Anwendungen und moderne Programmiersprachen wie HTML5 und jQuery haben Drag & Drop-Funktionen integriert, um Benutzerinteraktionen intuitiver zu gestalten. Diese Methode findet Anwendung in einer Vielzahl von Bereichen, von der Dateiverwaltung bis zur Bildbearbeitung und Geodiensten.
Die Funktion wird neben dem klassischen Kopieren und Einfügen als weitere Möglichkeit zur Datenvervielfältigung genutzt. Dabei stehen dem Benutzer verschiedene Optionen zur Verfügung, um das Drag & Drop-Kommando auszuführen, abhängig vom Betriebssystem und der Anwendung.
Auf Benutzerebene wird der gesamte Ablauf der Drag & Drop-Operation visuell begleitet und im Falle eines Fehlers werden entsprechende Hinweise oder Symbole angezeigt.
Häufige Fragen und Antworten
Was bedeutet Drag & Drop?
Drag & Drop (auch: Drag and Drop) kommt aus dem Englischen und wird mit Ziehen und Fallenlassen bzw. Ablegen übersetzt. Es bezeichnet den Transfer von Daten zwischen verschiedenen Anwendungen, indem Elemente z.B. vom Desktop in eine aktive Anwendung gezogen und dort geöffnet werden.
Wie funktioniert Drag & Drop?
Drag & Drop ermöglicht es Nutzern, komplexe Handlungen intuitiv auszuführen, indem sie Elemente in der grafischen Benutzeroberfläche (GUI) per Mausklick ziehen und an eine andere Stelle oder in eine andere Anwendung fallen lassen. Dabei können verschiedene Daten, Dateien oder Ordner verschoben oder kopiert werden.
Wo wird Drag & Drop verwendet?
Drag & Drop wird in verschiedenen Programmen eingesetzt, in denen komplexe Handlungen auf intuitive Weise ausgeführt werden sollen. Es wird häufig verwendet, um Dateien und Ordner zu bearbeiten, Texte zu verschieben oder um Objekte in grafischen Anwendungen zu arrangieren. Auch in Web-Anwendungen und Webdiensten findet Drag & Drop Anwendung, um die Benutzerinteraktionen zu verbessern.