ich möchte Dateien mit einem Javaprogramm in die Zwischenablage (Clipboard) legen und darüber irgendwohin (zB WindowsExplorer) kopieren.
Das doofe ist, dass ich beim einfügen eine Fehlermeldung von Windows bekomme, dass der Name der Datei zu lang oder ungültig ist.
Hier der relevante Code:
Transferable traf = new Transferable() {
public Object getTransferData(DataFlavor flavor) {
System.out.println(flavor);
return(toCopyList); // liste mit einem File-Object
}
public DataFlavor[] getTransferDataFlavors() {
return( new DataFlavor[]{ DataFlavor.javaFileListFlavor } );
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
return(flavor.match( DataFlavor.javaFileListFlavor ));
}
};
toolkit.getSystemClipboard().setContents( traf, clip );
die Liste mit den File-Objekten ist richtig eingestellt
(CopyPaste zu einem anderen JavaProgramm funktioniert ohne Probleme)
aber selbst wenn ich die Liste nehme, die ich aus einer Kopieraktion von Windows selbst ausgelesen habe, kommt der Fehler.
kennt sich jemand mit den Clipboard, Transferables aus und kann mir helfen?