私はクリップボードにファイルをコピーするJava Swingアプリケーションでこのコードを使用しています:Javaでクリップボードにファイルをカットする方法は?
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
);
それは動作しますが、その中で私は、WindowsエクスプローラとCtrl + Vに行くことができるとファイルがアップターン(うまくいけば、それは動作します他のOSでは、テストされていませんが)。私はをのカットも実装したいと思いますが、私はシステムにそれが何であるかを知らせる方法がわかりません。または、代わりに、元の場所から削除できるように、コピーされた各ファイルのフィードバックを得る方法手動で
これが不可能でない場合は、これをどのように処理すべきかに関する提案はありますか?アプリケーション内で&のペーストをカットすることもできます(別にOSエクスプローラとファイルを交換する)。
を参照してください。 – rjdkolb
あのコードはKubuntu linux(KDE)でうまくいきますが、ユーザーがファイルをペーストする前にJavaプログラムを終了してはいけないという点が異なります。詳細はこちらhttp://en.wikipedia.org/wiki/X_Window_selection – rjdkolb