@SuppressWarnings("unchecked") private List<File> getListOfFiles(TransferSupport support) { try { return (List<File>) support.getTransferable().getTransferData(DataFlavor.javaFileListFlavor); } catch (UnsupportedFlavorException e) { throw new RuntimeException("The dropped data is not supported. The unsupported DataFlavors are " + StringUtils.join(support.getDataFlavors(), ","), e); } catch (IOException e) { throw new RuntimeException("Cannot read the dropped data.", e); } }
@Override public boolean canImport(TransferHandler.TransferSupport info) { // we only import FileList if (!info.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { System.out.println("Does not support files of type(s): "+info.getDataFlavors()); return false; } return true; }
return getPropertyDataFlavor(String.class, support.getDataFlavors()) != null; DataFlavor flavor = getPropertyDataFlavor(String.class, support.getDataFlavors());
Object transferData = t.getTransferData(info.getDataFlavors()[0]); if (transferData instanceof PNode) { final PNode node = (PNode)transferData;
DataFlavor[] flavors = support.getDataFlavors(); Transferable t = support.getTransferable(); for (DataFlavor flavor : flavors) {
DataFlavor[] flavors = support.getDataFlavors(); for (DataFlavor flavor : flavors) {
@Override public boolean canImport(TransferHandler.TransferSupport info) { if(info.isDataFlavorSupported(DataFlavor.stringFlavor)) return true; try { if(info.getDataFlavors().length > 0) { Object transferData = info.getTransferable().getTransferData(info.getDataFlavors()[0]); if (transferData instanceof PNode) { return true; } else if(transferData instanceof MultiTransferObject) { final MultiTransferObject multi = (MultiTransferObject) transferData; boolean allPNode = true; DataFlavor dataFlavor = multi.getTransferDataFlavors(0)[0]; for(int i=0; i < multi.getCount(); ++i) { Object data = multi.getTransferData(i, dataFlavor); if(!(data instanceof PNode)) { allPNode = false; break; } } return allPNode; } } } catch (Exception e) { return false; } return false; }
@Override public boolean canImport(TransferHandler.TransferSupport support) { DataFlavor flavors[] = support.getDataFlavors(); boolean podeImportar = false; for (DataFlavor flavor : flavors) { // aceita apenas texto (que é arrastado do editor) ou uma lista de NoDeclaracao if (flavor.isFlavorTextType() || flavor == AbaCodigoFonte.NoTransferable.NO_DATA_FLAVOR) { podeImportar = true; break; } } if (!support.isDrop() || !podeImportar) { return false; } boolean arrastandoNosDaJTree = support.getTransferable().isDataFlavorSupported(AbaCodigoFonte.NoTransferable.NO_DATA_FLAVOR); if (arrastandoNosDaJTree) { return podeImportartNosArrastadosDaTree(support); } return true; // suporta importação de string }
@Override public boolean importData(TransferSupport ts) { BackgroundManager bm = Services.getService(BackgroundManager.class); if(ts.isDataFlavorSupported(TransferableNodePaths.PATHS_FLAVOR)) { // Move Nodes and Move Files bm.nonBlockingBackgroundOperation(new DropTransferable(ts.getTransferable(), this)); return true; } else { DataFlavor[] flavors = ts.getDataFlavors(); for(DataFlavor flavor : flavors) { if(flavor.isRepresentationClassReader()) { bm.nonBlockingBackgroundOperation(new DropTransferable(ts.getTransferable(), this)); return true; } } return false; } }
/** * Checks whether the given drag and drop operation offers a list of files as * one of its flavors. * * @param support The drag and drop operation that should be checked. * @return True iff the operation can provide a list of files. */ public static boolean hasFiles( final TransferHandler.TransferSupport support) { // Check the flavors to make sure one of them is file list. for (final DataFlavor flavor : support.getDataFlavors()) { if (flavor.isFlavorJavaFileListType()) return true; } return false; }
@Override public boolean importData(TransferSupport ts) { if(ts.isDataFlavorSupported(TransferableNodePaths.PATHS_FLAVOR)) { // Move Nodes and Move Files new DropTransferable(ts.getTransferable(), this).execute(); return true; } else { DataFlavor[] flavors = ts.getDataFlavors(); for(DataFlavor flavor : flavors) { if(flavor.isRepresentationClassReader()) { new DropTransferable(ts.getTransferable(), this).execute(); return true; } } return false; } }
@Override public boolean canImport(TransferSupport support) { for (DataFlavor flavor : support.getDataFlavors()) { if (flavor.isFlavorJavaFileListType()) { return true; } } return false; }
private boolean isText(TransferSupport support) { return DataFlavor.selectBestTextFlavor(support.getDataFlavors()) != null; }