Ich möchte das Ziehen und Ablegen von Dateien aus einem Verzeichnis wie etwa einer Festplatte implementieren, kann aber nicht herausfinden, wie es geht. Ich habe die Java API gelesen, aber es spricht von Farbauswahl und Ziehen und Ablegen zwischen Listen, aber wie man Dateien von einem Computer-Dateisystem zieht und in meine Anwendung fallen lässt. Ich habe versucht, die Transferhandler-Klasse und ein Mausereignis für den Beginn des Ziehens zu schreiben, aber nichts scheint zu funktionieren. Jetzt bin ich zurück zu meinem JFileChooser-Set, also wurde Drag aktiviert, aber wie kann ich es ablegen?
Alle Informationen oder Punkte in die richtige Richtung werden sehr geschätzt.
%Vor%Das ist meine Vorstellung von der Idee. Ich habe die "traditionelle" Drag & Drop-API in diesem Beispiel verwendet. Es hat einige zusätzliche "Farbe" zwickt nur um zu zeigen, was Sie tun können.
In diesem Beispiel werden keine Ordner gescannt, so dass jeder Ordner nur als eine einzige Datei registriert wird, aber ich bin mir sicher, dass Sie es herausfinden können
%Vor% Sie müssen mit Drag & amp; Löschen und sehen Sie genau, welche Varianten verfügbar sind, wenn Sie versuchen, Dateien zu ziehen. Wenn Sie dies in Ihrem benutzerdefinierten TransferHandler tun, werden Sie angenehm überrascht sein. Ein Flavour ist DataFlavor.javaFileListFlavor
, was darauf hinweist, dass das Element einfach als List
verwendet werden kann. Probieren Sie es aus und Sie werden sehen, dass es funktioniert!
Hinweis zur Überprüfung Ihres geposteten Codes: Ich sehe keinen Code für Ihren Versuch, einen TransferHandler zu verwenden. Daher ist es schwer zu sagen, was Sie hier falsch machen könnten.
Bearbeiten 1
Sie scheinen zu versuchen, einen MouseListener für Drag & Drop zu verwenden, und ich bin nicht mit dieser Verwendung vertraut. Können Sie einen Verweis auf ein Lernprogramm anzeigen, in dem Sie dazu aufgefordert werden?
Bearbeiten 2
%Vor%Tags und Links java swing awt drag-and-drop file