Example usage for java.awt.datatransfer Transferable getTransferData

List of usage examples for java.awt.datatransfer Transferable getTransferData

Introduction

In this page you can find the example usage for java.awt.datatransfer Transferable getTransferData.

Prototype

public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException;

Source Link

Document

Returns an object which represents the data to be transferred.

Usage

From source file:com.netease.dagger.BrowserEmulator.java

/**
 * Paste text from clipboard content//w  w w.ja  v  a2 s .co  m
 */
public String getClipboardContent() {
    pause(stepInterval);
    try {
        String text = "";
        Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
        Transferable data = clip.getContents(null);
        if (data != null) {
            if (data.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                text = (String) data.getTransferData(DataFlavor.stringFlavor);
            }
        }
        return text;
    } catch (Exception e) {
        e.printStackTrace();
        handleFailure("Failed to get clipboard content");
    }
    logger.info("Success to get clipboard content");
    return null;
}

From source file:com.mirth.connect.client.ui.editors.filter.FilterPane.java

public void drop(DropTargetDropEvent dtde) {
    try {/*from  ww w . ja  v  a 2  s .c  o  m*/
        dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
        Transferable tr = dtde.getTransferable();

        if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
            List<File> fileList = (List<File>) tr.getTransferData(DataFlavor.javaFileListFlavor);
            Iterator<File> iterator = fileList.iterator();

            if (fileList.size() == 1) {
                File file = (File) iterator.next();
                importFilter(parent.readFileToString(file));
            }
        } else if (tr.isDataFlavorSupported(TreeTransferable.RULE_DATA_FLAVOR)) {
            Object transferData = tr.getTransferData(TreeTransferable.RULE_DATA_FLAVOR);

            if (transferData instanceof RuleDropData) {
                RuleDropData data = (RuleDropData) transferData;
                addNewRule(MirthTree.constructNodeDescription(data.getNode()), data.getMapping());
            }
        }
    } catch (Exception e) {
        dtde.rejectDrop();
    }
}

From source file:EditorDropTarget3.java

protected boolean dropContent(Transferable transferable, DropTargetDropEvent dtde) {
    if (!pane.isEditable()) {
        // Can't drop content on a read-only text control
        return false;
    }/*www .  j a v a2s . c om*/

    try {
        // Check for a match with the current content type
        DataFlavor[] flavors = dtde.getCurrentDataFlavors();

        DataFlavor selectedFlavor = null;

        // Look for either plain text or a String.
        for (int i = 0; i < flavors.length; i++) {
            DataFlavor flavor = flavors[i];
            DnDUtils.debugPrintln("Drop MIME type " + flavor.getMimeType() + " is available");
            if (flavor.equals(DataFlavor.plainTextFlavor) || flavor.equals(DataFlavor.stringFlavor)) {
                selectedFlavor = flavor;
                break;
            }
        }

        if (selectedFlavor == null) {
            // No compatible flavor - should never happen
            return false;

        }

        DnDUtils.debugPrintln("Selected flavor is " + selectedFlavor.getHumanPresentableName());

        // Get the transferable and then obtain the data
        Object data = transferable.getTransferData(selectedFlavor);

        DnDUtils.debugPrintln("Transfer data type is " + data.getClass().getName());

        String insertData = null;
        if (data instanceof InputStream) {
            // Plain text flavor
            String charSet = selectedFlavor.getParameter("charset");
            InputStream is = (InputStream) data;
            byte[] bytes = new byte[is.available()];
            is.read(bytes);
            try {
                insertData = new String(bytes, charSet);
            } catch (UnsupportedEncodingException e) {
                // Use the platform default encoding
                insertData = new String(bytes);
            }
        } else if (data instanceof String) {
            // String flavor
            insertData = (String) data;
        }

        if (insertData != null) {
            int selectionStart = pane.getCaretPosition();
            pane.replaceSelection(insertData);
            pane.select(selectionStart, selectionStart + insertData.length());
            return true;
        }
        return false;
    } catch (Exception e) {
        return false;
    }
}

From source file:com.mirth.connect.client.ui.editors.filter.FilterPane.java

public void dragEnter(DropTargetDragEvent dtde) {
    try {/*w  ww  .j ava2  s .co  m*/
        Transferable tr = dtde.getTransferable();
        if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {

            dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);

            List fileList = (List) tr.getTransferData(DataFlavor.javaFileListFlavor);
            Iterator iterator = fileList.iterator();
            if (iterator.hasNext() && fileList.size() == 1) {
                String fileName = ((File) iterator.next()).getName();
                if (!fileName.substring(fileName.lastIndexOf(".")).equalsIgnoreCase(".xml")) {
                    dtde.rejectDrag();
                }
            } else {
                dtde.rejectDrag();
            }
        } else if (tr.isDataFlavorSupported(TreeTransferable.RULE_DATA_FLAVOR)) {
            dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
        } else {
            dtde.rejectDrag();
        }
    } catch (Exception e) {
        dtde.rejectDrag();
    }
}

From source file:EditorDropTarget4.java

protected boolean dropContent(Transferable transferable, DropTargetDropEvent dtde) {
    if (!pane.isEditable()) {
        // Can't drop content on a read-only text control
        return false;
    }//from   ww w. ja va 2  s. c o m

    try {
        // Check for a match with the current content type
        DataFlavor[] flavors = dtde.getCurrentDataFlavors();

        DataFlavor selectedFlavor = null;

        // Look for either plain text or a String.
        for (int i = 0; i < flavors.length; i++) {
            DataFlavor flavor = flavors[i];
            DnDUtils.debugPrintln("Drop MIME type " + flavor.getMimeType() + " is available");
            if (flavor.equals(DataFlavor.plainTextFlavor) || flavor.equals(DataFlavor.stringFlavor)) {
                selectedFlavor = flavor;
                break;
            }
        }

        if (selectedFlavor == null) {
            // No compatible flavor - should never happen
            return false;
        }

        DnDUtils.debugPrintln("Selected flavor is " + selectedFlavor.getHumanPresentableName());

        // Get the transferable and then obtain the data
        Object data = transferable.getTransferData(selectedFlavor);

        DnDUtils.debugPrintln("Transfer data type is " + data.getClass().getName());

        String insertData = null;
        if (data instanceof InputStream) {
            // Plain text flavor
            String charSet = selectedFlavor.getParameter("charset");
            InputStream is = (InputStream) data;
            byte[] bytes = new byte[is.available()];
            is.read(bytes);
            try {
                insertData = new String(bytes, charSet);
            } catch (UnsupportedEncodingException e) {
                // Use the platform default encoding
                insertData = new String(bytes);
            }
        } else if (data instanceof String) {
            // String flavor
            insertData = (String) data;
        }

        if (insertData != null) {
            int selectionStart = pane.getCaretPosition();
            pane.replaceSelection(insertData);
            pane.select(selectionStart, selectionStart + insertData.length());
            return true;
        }
        return false;
    } catch (Exception e) {
        return false;
    }
}

From source file:com.mirth.connect.client.ui.editors.transformer.TransformerPane.java

public void dragEnter(DropTargetDragEvent dtde) {
    try {// www  .ja v a 2 s  .  co  m
        Transferable tr = dtde.getTransferable();
        if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {

            dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);

            List fileList = (List) tr.getTransferData(DataFlavor.javaFileListFlavor);
            Iterator iterator = fileList.iterator();
            if (iterator.hasNext() && fileList.size() == 1) {
                String fileName = ((File) iterator.next()).getName();
                if (!fileName.substring(fileName.lastIndexOf(".")).equalsIgnoreCase(".xml")) {
                    dtde.rejectDrag();
                }
            } else {
                dtde.rejectDrag();
            }
        } else if (tr.isDataFlavorSupported(TreeTransferable.MAPPER_DATA_FLAVOR)
                || tr.isDataFlavorSupported(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR)) {
            dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
        } else {
            dtde.rejectDrag();
        }
    } catch (Exception e) {
        dtde.rejectDrag();
    }
}

From source file:com.mirth.connect.client.ui.editors.transformer.TransformerPane.java

public void drop(DropTargetDropEvent dtde) {
    try {/* w  w  w  .j  a  v  a  2 s .  c o  m*/
        Transferable tr = dtde.getTransferable();
        if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
            dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);

            List<File> fileList = (List<File>) tr.getTransferData(DataFlavor.javaFileListFlavor);
            Iterator<File> iterator = fileList.iterator();

            if (fileList.size() == 1) {
                File file = (File) iterator.next();
                importTransformer(parent.readFileToString(file));
            }
        } else if (tr.isDataFlavorSupported(TreeTransferable.MAPPER_DATA_FLAVOR)
                || tr.isDataFlavorSupported(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR)) {
            dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);

            Object mapperTransferData = tr.getTransferData(TreeTransferable.MAPPER_DATA_FLAVOR);
            Object messageBuilderTransferData = tr
                    .getTransferData(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR);

            if (mapperTransferData != null && !parent.isAcceleratorKeyPressed()) {
                Object transferData = tr.getTransferData(TreeTransferable.MAPPER_DATA_FLAVOR);
                MapperDropData data = (MapperDropData) transferData;
                addNewStep(data.getVariable(), data.getVariable(), data.getMapping(), MAPPER);
            } else if (mapperTransferData != null && parent.isAcceleratorKeyPressed()) {
                Object transferData = tr.getTransferData(TreeTransferable.MAPPER_DATA_FLAVOR);
                MapperDropData data2 = (MapperDropData) transferData;
                MessageBuilderDropData data = new MessageBuilderDropData(data2.getNode(),
                        MirthTree.constructPath(data2.getNode().getParent(), "msg", "").toString(), "");
                addNewStep(MirthTree.constructMessageBuilderStepName(null, data.getNode()),
                        data.getMessageSegment(), data.getMapping(), MESSAGE_BUILDER);
            } else if (messageBuilderTransferData != null) {
                Object transferData = tr.getTransferData(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR);
                MessageBuilderDropData data = (MessageBuilderDropData) transferData;
                addNewStep(MirthTree.constructMessageBuilderStepName(null, data.getNode()),
                        data.getMessageSegment(), data.getMapping(), MESSAGE_BUILDER);
            }
        }
    } catch (Exception e) {
        dtde.rejectDrop();
    }
}

From source file:org.kuali.test.ui.dnd.RepositoryDropTargetAdapter.java

private boolean canDrop(DropTargetEvent dte) {
    boolean retval = false;
    try {//from ww  w .j  a  va  2 s  . c  o m
        if (dte.getDropTargetContext().getComponent() == repositoryTree) {
            Point pt = null;
            Transferable t = null;
            int ops = -1;
            DataFlavor dataFlavor = null;
            if (dte instanceof DropTargetDragEvent) {
                pt = ((DropTargetDragEvent) dte).getLocation();
                t = ((DropTargetDragEvent) dte).getTransferable();
                ops = ((DropTargetDragEvent) dte).getSourceActions();
                dataFlavor = ((DropTargetDragEvent) dte).getCurrentDataFlavors()[0];
            } else if (dte instanceof DropTargetDropEvent) {
                pt = ((DropTargetDropEvent) dte).getLocation();
                t = ((DropTargetDropEvent) dte).getTransferable();
                ops = ((DropTargetDropEvent) dte).getSourceActions();
                dataFlavor = ((DropTargetDropEvent) dte).getCurrentDataFlavors()[0];
            }

            if ((pt != null) && (t != null)) {
                if (isTestLinkTransfer(t, ops, dataFlavor)) {
                    DefaultMutableTreeNode node = getNodeAtPoint(pt);
                    if (node != null) {
                        Object uo = node.getUserObject();

                        if (uo != null) {
                            if (uo instanceof TestSuite) {
                                TestSuite testSuite = (TestSuite) uo;
                                RepositoryTransferData<Platform, List<String>> data = (RepositoryTransferData<Platform, List<String>>) t
                                        .getTransferData(dataFlavor);

                                retval = (StringUtils.equalsIgnoreCase(data.getTarget().getName(),
                                        testSuite.getPlatformName()));
                            }
                        }
                    }
                } else if (isTestOrderTransfer(t, ops, dataFlavor)) {
                    DefaultMutableTreeNode node = getNodeAtPoint(pt);
                    if (node != null) {
                        Object uo = node.getUserObject();
                        if (uo != null) {
                            if (uo instanceof SuiteTest) {
                                SuiteTest targetSuiteTest = (SuiteTest) uo;
                                RepositoryTransferData<TestSuite, SuiteTest> data = (RepositoryTransferData<TestSuite, SuiteTest>) t
                                        .getTransferData(dataFlavor);

                                retval = (StringUtils.equalsIgnoreCase(data.getTarget().getPlatformName(),
                                        targetSuiteTest.getTestHeader().getPlatformName())
                                        && !StringUtils.equalsIgnoreCase(
                                                targetSuiteTest.getTestHeader().getTestName(),
                                                data.getData().getTestHeader().getTestName())
                                        && (targetSuiteTest.getIndex() != data.getData().getIndex()));
                            }
                        }
                    }
                }
            }
        }
    }

    catch (Exception ex) {
        LOG.warn(ex.toString(), ex);
    }

    return retval;
}

From source file:com.emental.mindraider.ui.frames.MindRaiderMainWindow.java

public void drop(DropTargetDropEvent evt) {
    logger.debug("=-> drop");

    try {//w  ww .  java  2 s .c  o m
        Transferable t = evt.getTransferable();

        if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
            logger.debug(" Accepting 'string' data flavor...");
            evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
            String s = (String) t.getTransferData(DataFlavor.stringFlavor);
            evt.getDropTargetContext().dropComplete(true);

            logger.debug("DnD: '" + s + "'");
            if (s != null) {
                int indexOf = s.indexOf("\n");
                if (indexOf != -1) {
                    dragAndDropReference = new DragAndDropReference(s.substring(indexOf + 1),
                            s.substring(0, indexOf), DragAndDropReference.BROWSER_LINK);
                } else {
                    dragAndDropReference = new DragAndDropReference(s, DragAndDropReference.BROWSER_LINK);
                }
            }
        } else {
            if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
                logger.debug(" Accepting 'file list' data flavor...");
                evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
                List<Object> list = (List<Object>) t.getTransferData(DataFlavor.javaFileListFlavor);
                if (list != null) {
                    Iterator<Object> iterator = list.iterator();
                    while (iterator.hasNext()) {
                        Object next = iterator.next();
                        if (next instanceof File) {
                            logger.debug(" DnD file: " + next);
                            dragAndDropReference = new DragAndDropReference(((File) next).getAbsolutePath(),
                                    DragAndDropReference.EXPLORER_LINK);
                        }
                    }
                }
            } else {
                logger.debug("DnD rejected! ");
                dragAndDropReference = null;

                // DataFlavor[] dfs=t.getTransferDataFlavors();
                // for (int i = 0; i < dfs.length; i++) {
                // logger.debug(" "+i+" ... "+dfs[i].getMimeType());
                // logger.debug(" "+i+" ...
                // "+dfs[i].getDefaultRepresentationClassAsString());
                // logger.debug(" "+i+" ...
                // "+dfs[i].getHumanPresentableName());
                // }
            }
        }
    } catch (Exception e) {
        logger.debug("Drag&Drop error:", e);
        dragAndDropReference = null;
    }

    OutlineJPanel.getInstance().enableDisableAttachToolbarButton();

    if (dragAndDropReference != null) {
        JOptionPane.showMessageDialog(this,
                "Dropped local/web resource reference stored! Use \n'clip' icon from Notebook outline toolbar to attach it.",
                "Drag&Drop Info", JOptionPane.INFORMATION_MESSAGE);

        dragAndDropReference.debug();
    }
    logger.debug("<-= drop");
}

From source file:net.sf.nmedit.nomad.core.Nomad.java

private void export(Transferable transferable, DataFlavor flavor) {
    File file = getExportFile();/*ww  w  .j a va 2 s .c  om*/
    if (file == null)
        return;

    Reader reader;
    try {
        reader = flavor.getReaderForText(transferable);
    } catch (Exception e) {
        reader = null;
    }

    if (reader != null) {
        try {
            FileOutputStream out = new FileOutputStream(file);
            try {
                int data;
                while ((data = reader.read()) != -1) {
                    out.write(data);
                }
                out.flush();
            } finally {
                out.close();
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return;
    }

    if (DataFlavor.imageFlavor.match(flavor)) {
        Image image;
        try {
            image = (Image) transferable.getTransferData(flavor);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

        try {
            ImageIO.write((RenderedImage) image, "png", file);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }
    // else report unsupported flavor
}