}
@Override
public void performAction(FileSet files) {
// Create a TransferableFileSet and make DataFlavour.stringFlavor (text) the only DataFlavour supported
TransferableFileSet tfs = new TransferableFileSet(files);
// Disable unwanted data flavors
tfs.setJavaFileListDataFlavorSupported(false);
tfs.setTextUriFlavorSupported(false);
// Note: not disabling this flavor would throw an exception because the flavor data is not serializable
tfs.setFileSetDataFlavorSupported(false);
// Transfer filenames, not file paths
tfs.setStringDataFlavourTransfersFilename(true);
// Transfer base names (filename without its extension)
tfs.setStringDataFlavourTransfersFileBaseName(true);
ClipboardSupport.setClipboardContents(tfs);
}