ich in einer Java-Swing-Anwendung dieses Code verwenden Dateien in die Zwischenablage zu kopieren:Wie schneidet man eine Datei in Java in die Zwischenablage?
final List<File> files = new ArrayList<File>();
// ... code to fill list omitted ... //
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
new Transferable() {
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.javaFileListFlavor };
}
@Override
public boolean isDataFlavorSupported(DataFlavor flavor) {
return DataFlavor.javaFileListFlavor.equals(flavor);
}
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
return files;
}
}, null
);
Es funktioniert, dass in I zu Windows Explorer und Strg + V und die Dateien wieder auftauchen gehen kann (hoffentlich funktioniert es in anderen Betriebssystemen, obwohl nicht getestet). Ich würde gerne implementieren Schnitt auch, aber ich weiß nicht, wie das System wissen, dass das ist, was die Aktion ist, oder alternativ, wie Sie Feedback für jede erfolgreich kopierte Datei erhalten, damit ich es von seinem ursprünglichen Speicherort löschen kann manuell.
Wenn das nicht unmöglich ist, irgendwelche Vorschläge, wie ich damit umgehen sollte? Ich würde gerne in der Lage sein, & innerhalb der Anwendung zu schneiden (separat zum Austausch von Dateien mit dem OS Explorer).
Ich glaube nicht möglich noch in Java geschnitten ist. – rjdkolb
Oh, der Code funktioniert gut in Kubuntu Linux (KDE) mit Ausnahme der Tatsache, dass das Java-Programm nicht beendet werden darf, bevor der Benutzer die Datei einfügt. Lesen Sie hier mehr: http://en.wikipedia.org/wiki/X_Window_selection – rjdkolb