Package java.awt.datatransfer

Examples of java.awt.datatransfer.Transferable


    {
      pushPaused(true);
      showMessage("Pasting");
      try
      {
        Transferable content = clipboard.getContents(null);
        DataFlavor flavor = content.getTransferDataFlavors()[0];

        if (content.isDataFlavorSupported(DataFlavor.imageFlavor))
        {
          setWorldImage((BufferedImage)content
          .getTransferData(DataFlavor.imageFlavor));
        }
        else if (flavor.isMimeTypeEqual("image/x-pict"))
        {
          InputStream is = (InputStream)content.getTransferData(flavor);
          Image image = (Image)getImageFromPictStream(is);

          if (image != null)
            setWorldImage(image);
        }
View Full Code Here


        public synchronized void drop (DropTargetDropEvent dropTargetDropEvent)
        {
            try
            {
                Transferable tr = dropTargetDropEvent.getTransferable();
                if (tr.isDataFlavorSupported (DataFlavor.javaFileListFlavor))
                {
                    dropTargetDropEvent.acceptDrop (
                        DnDConstants.ACTION_COPY_OR_MOVE);
                    java.util.List fileList = (java.util.List)
                        tr.getTransferData(DataFlavor.javaFileListFlavor);
                  for (Object aFileList : fileList) {
                    File file = (File) aFileList;
                    Hashtable hashtable = new Hashtable();
                    hashtable.put("name", file.getName());
                    hashtable.put("url", file.toURL().toString());
View Full Code Here

        public synchronized void drop (DropTargetDropEvent dropTargetDropEvent)
        {
            try
            {
                Transferable tr = dropTargetDropEvent.getTransferable();
                if (tr.isDataFlavorSupported (DataFlavor.javaFileListFlavor))
                {
                    dropTargetDropEvent.acceptDrop (
                        DnDConstants.ACTION_COPY_OR_MOVE);
                    java.util.List fileList = (java.util.List)
                        tr.getTransferData(DataFlavor.javaFileListFlavor);
                  for (Object aFileList : fileList) {
                    File file = (File) aFileList;
                    Hashtable hashtable = new Hashtable();
                    hashtable.put("name", file.getName());
                    hashtable.put("url", file.toURL().toString());
View Full Code Here

        final DropTarget dt = new DropTarget();
        try {
            dt.addDropTargetListener(new DropTargetAdapter() {

                public void drop(DropTargetDropEvent dtde) {
                    final Transferable tr = dtde.getTransferable();
                    final DataFlavor[] flavors = tr.getTransferDataFlavors();
                    for (DataFlavor flavor : flavors) {
                        if (DataFlavor.javaFileListFlavor.equals(flavor)) {
                            try {
                                dtde.acceptDrop(DnDConstants.ACTION_COPY);
                                for (File file : (List<File>)
                                        tr.getTransferData(
                                            DataFlavor.javaFileListFlavor)) {
                                    addRequest(file);
                                }
                                dtde.dropComplete(true);
                            } catch (UnsupportedFlavorException ex) {
                                JOptionPane.showMessageDialog(getFrame(),
                                    "Adding files failed:\n" + ex.getMessage(),
                                    "Add files", JOptionPane.ERROR_MESSAGE);
                            } catch (IOException ex) {
                                JOptionPane.showMessageDialog(getFrame(),
                                    "Adding files failed:\n" + ex.getMessage(),
                                    "Add files", JOptionPane.ERROR_MESSAGE);
                            }
                        } else if (flavor.getMimeType().contains("text/uri-list")
                                && flavor.getMimeType().contains("java.io.Reader")) {
                            dtde.acceptDrop(DnDConstants.ACTION_COPY);
                            try {
                                BufferedReader in = new BufferedReader(((Reader) tr.getTransferData(flavor)));
                                String uriStr;
                                while ((uriStr = in.readLine()) != null)  {
                                    try {
                                        URL url = new URL(uriStr);
                                        addRequest(url.openStream(), new File(url.toURI()));
View Full Code Here

  public String get() {
    String result = "";
    java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

    //odd: the Object param of getContents is not currently used
    Transferable contents = clipboard.getContents(null);
    boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor);
    if (hasTransferableText) {
      try {
        result = (String) contents.getTransferData(DataFlavor.stringFlavor);
      } catch (UnsupportedFlavorException ex) {
        // highly unlikely since we are using a standard DataFlavor
        ex.printStackTrace();
      } catch (IOException ex) {
        ex.printStackTrace();
View Full Code Here

  public void dropActionChanged(DropTargetDragEvent dtde) {    }

  public void drop(DropTargetDropEvent dtde) {
    Logger.debug("Drop detected...");
    Transferable t = dtde.getTransferable();
    boolean isAccepted = false;
    if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
      while (true) {
        Object o = null;
        try {
          dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
          o = t.getTransferData(DataFlavor.javaFileListFlavor);
          isAccepted = true;
        } catch (Exception e) {
          Logger.error("transfer failed");
        }
        // if o is still null we had an exception
        if (o instanceof List) {
          List fileList = (List) o;
          final int length = fileList.size();
          if (length == 1) {
            String fileName = ((File) fileList.get(0)).getAbsolutePath().trim();
            if (fileName.endsWith(".bmp"))
              break; // try another flavor -- Mozilla bug
            dtde.getDropTargetContext().dropComplete(true);
            loadFile(fileName);
            return;
          }
          dtde.getDropTargetContext().dropComplete(true);
          loadFiles(fileList);
          return;
        }
        break;
      }
    }

    Logger.debug("browsing supported flavours to find something useful...");
    DataFlavor[] df = t.getTransferDataFlavors();

    if (df == null || df.length == 0)
      return;
    for (int i = 0; i < df.length; ++i) {
      DataFlavor flavor = df[i];
      Object o = null;
      if (true) {
        Logger.info("df " + i + " flavor " + flavor);
        Logger.info("  class: " + flavor.getRepresentationClass().getName());
        Logger.info("  mime : " + flavor.getMimeType());
      }

      if (flavor.getMimeType().startsWith("text/uri-list")
          && flavor.getRepresentationClass().getName().equals(
              "java.lang.String")) {

        /*
         * This is one of the (many) flavors that KDE provides: df 2 flavour
         * java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;
         * representationclass=java.lang.String] java.lang.String String: file
         * :/home/egonw/data/Projects/SourceForge/Jmol/Jmol-HEAD/samples/
         * cml/methanol2.cml
         *
         * A later KDE version gave me the following. Note the mime!! hence the
         * startsWith above
         *
         * df 3 flavor java.awt.datatransfer.DataFlavor[mimetype=text/uri-list
         * ;representationclass=java.lang.String] class: java.lang.String mime :
         * text/uri-list; class=java.lang.String; charset=Unicode
         */

        try {
          o = null;
          if (!isAccepted)
            dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
          isAccepted = true;
          o = t.getTransferData(flavor);
        } catch (Exception e) {
          Logger.error(null, e);
        }

        if (o instanceof String) {
          if (Logger.debugging) {
            Logger.debug("  String: " + o.toString());
          }
          loadFile(o.toString());
          dtde.getDropTargetContext().dropComplete(true);
          return;
        }
      } else if (flavor.getMimeType().equals(
          "application/x-java-serialized-object; class=java.lang.String")) {

        /*
         * This is one of the flavors that jEdit provides:
         *
         * df 0 flavor java.awt.datatransfer.DataFlavor[mimetype=application/
         * x-java-serialized-object;representationclass=java.lang.String] class:
         * java.lang.String mime : application/x-java-serialized-object;
         * class=java.lang.String String: <molecule title="benzene.mol"
         * xmlns="http://www.xml-cml.org/schema/cml2/core"
         *
         * But KDE also provides:
         *
         * df 24 flavor java.awt.datatransfer.DataFlavor[mimetype=application
         * /x-java-serialized-object;representationclass=java.lang.String]
         * class: java.lang.String mime : application/x-java-serialized-object;
         * class=java.lang.String String: file:/home/egonw/Desktop/1PN8.pdb
         */

        try {
          o = null;
          if (!isAccepted)
            dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
          isAccepted = true;
          o = t.getTransferData(df[i]);
        } catch (Exception e) {
          Logger.error(null, e);
        }

        if (o instanceof String) {
View Full Code Here

   * empty String.
   */
  public static String getClipboardText() {
    String result = null;
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    Transferable contents = clipboard.getContents(null);
    if (contents == null)
      return null;
      try {
        if (contents.isDataFlavorSupported(DataFlavor.stringFlavor)) {
        result = (String) contents.getTransferData(DataFlavor.stringFlavor);
        } else if (contents.isDataFlavorSupported(DataFlavor.javaFileListFlavor)){
          List fileList = (List) contents.getTransferData(DataFlavor.javaFileListFlavor);
          final int length = fileList.size();
          if (length == 0)
            return null;
          result = "LOAD files ";
          for (int i = 0; i < length; i++)
View Full Code Here

    }

    public void exportToClipboard(final JComponent c,
                                  final Clipboard clipboard,
                                  final int action) {
        Transferable t = createTransferable(c);
        if (t == null) {
            return;
        }
        int actionId = action & getSourceActions(c);
        if (actionId == NONE) {
View Full Code Here

                    return null;
                }
            }

            final File[] transferingFiles = selectedFiles;
            return new Transferable() {
                public Object getTransferData(final DataFlavor flavor) throws UnsupportedFlavorException, IOException {
                    if (flavor.equals(DataFlavor.stringFlavor)
                        || flavor.equals(DataFlavor.plainTextFlavor)) {

                        StringBuffer content = new StringBuffer();
View Full Code Here

     * Handler of Top level Dnd
     */
    @Override
    public void drop(DropTargetDropEvent dtde) {
        try {
            Transferable tr = dtde.getTransferable();
            DataFlavor[] flavors = tr.getTransferDataFlavors();
            for (int i = 0; i < flavors.length; i++) {
                // Check for file lists specifically
                if (flavors[i].isFlavorJavaFileListType()) {
                    dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
                    try {
View Full Code Here

TOP

Related Classes of java.awt.datatransfer.Transferable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.