Drag and drop to my clipboard

Hi
Is it possible to drag and drop not to the system clipboard but to an instance of clipboared i have created? How?
TIA
Noam

The first ever Sync of 12,000 songs to an empty iPod will take a while, but it shouldn't take two days.
Once all 12,000 songs have been Synced to the iPod, subsequent changes to just one album will result in a very short Sync time. That Sync will include:
the change to that one album
play counts on iPod updated into your iTunes Library
Smart Playlists updated: some complex Smart Playlists are not always updated by the iPod but have to wait for a Sync with the Library.
housework - in other words, behind the scenes tasks that we don't need to see.
Those subsequent Syncs do not sync every single song every time.
So, stick with Syncing. If the first Sync of all your songs is taking too long, try syncing part of the Library (say one or two genres) the first time, a further part the second time and so on. After all, with a Library that large, manually managing the iPod will be a source of torture.

Similar Messages

  • Please Help! Drag and drop does not work in Adobe AIR 3.1 (FlashBuilder 4.6)

    I am working on a PC is made of air and flashbuilder 4.6.
    Drag and drop application does not work in Flash Builder 4.6.
    However, the same source will work with Flash Builder 4.5.
    Please help me.
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                  xmlns:s="library://ns.adobe.com/flex/spark"
                                  xmlns:mx="library://ns.adobe.com/flex/mx"
                                  backgroundColor="#323232" width="100%" height="100%"
                                  initialize="init(event)"
                                  nativeDragEnter="onDragEnter(event)"
                                  nativeDragDrop="onDragDrop(event)">
              <fx:Script>
              <![CDATA[
                        import mx.events.FlexEvent;
                        protected function init(event:FlexEvent):void
                                  addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDragEnter);
                                  addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDragDrop);
                        private function onDragEnter(event:NativeDragEvent):void
                                  if (event.clipboard.hasFormat(ClipboardFormats.FILE_LIST_FORMAT))
                                            NativeDragManager.acceptDragDrop(this);
                        private function onDragDrop(event:NativeDragEvent):void
                                  var arr:Array;
                                  arr = Array(event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT));
                                  startImage.source = (arr[0] as File).url;
                ]]>
              </fx:Script>
              <s:layout>
                        <s:VerticalLayout/>
              </s:layout>
              <s:BorderContainer id="bc" borderStyle="solid" width="200" height="80%"/>
              <s:Image id="startImage" width="100%" height="100%"
                                             horizontalAlign="center" verticalAlign="middle"/>
      </s:WindowedApplication>

    Thank you answers, but it was not the answer I wanted.
    [Problem]
    * Flash Builder 4.5.1(updater) or Flash Builder 4.6
    - If you have installed on pc, does not work adobe air drag and drop
    [Solution]
    1. Reinstalling the Windows 7 (32bit).
    2. Install Flash Builder 4.5.
    3. Flash Builder 4.5.1 updater and Flash Builder 4.6 does not install.
       (Instead of using Flex SDK 4.6 is set up)
    In addition, Windows7 64bit environment does not work drag and drop.
    Is there another solution?

  • Must click then click and drag for JTable Drag and Drop

    Hi All,
    I've been using Java 1.4 to drag and drop data between two tables in our application. Basically I need to drag the data from individual rows of the source table and insert it into one of the cells in the new table. This works absolutely fine and has made a huge improvement to this portion of our app. I've included example source code below that does a similar thing by transferring data from one table and inserting it into another (it's quite big and also not as well done as the example in our real app but unfortunately I can't send the source for that).
    The thing I've noticed though is that in order to start dragging data I need to click to select it and then press and hold the mouse button to start dragging, whereas under W**dows and just about every other OS you can just press and hold and start dragging straight away. If you try this with a JTable though it just changes the rows you have selected so the drag and drop works but feels a bit clunky and amateurish. I'd like to do something about this such that it works like Windows Explorer (or similar) where you can just press the mouse button and start dragging.
    Any help would be greatly appreciated - and if anybody finds the code useful you're more than welcome to it. Note that the business end of this is CustomTransferHandler.java - this will show you how to insert data at a specific position in a JTable, it's a bit of a faff but not too bad once you've got it sussed.
    Thanks,
    Bart Read
    ===============================================================
    TestFrame.java
    * TestFrame.java
    * Created on October 21, 2002, 4:59 PM
    import java.awt.*;
    import java.awt.datatransfer.*;
    import java.awt.dnd.*;
    import java.awt.event.*;
    import java.util.TooManyListenersException;
    import javax.swing.*;
    * @author  readb
    public class TestFrame extends javax.swing.JFrame
         private static final String [] NAMES     = {
              "John", "Geoff", "Madeleine", "Maria", "Flanders",
              "Homer", "Marge", "Bart", "Lisa", "Weird Baby" };
         private JTable source;
         private JTable dest;
         private MyTableModel     sourceModel;
         private MyTableModel     destModel;
         private Clipboard          clipboard;
         /** Creates a new instance of TestFrame */
         public TestFrame()
              clipboard = getToolkit().getSystemClipboard();
              Container c = getContentPane();
              c.setLayout( new BorderLayout( 40, 40 ) );
              source = new MyJTable();
              sourceModel = new MyTableModel();
              source.setModel( sourceModel );
              source.setDragEnabled( true );
              CustomTransferHandler handler = new CustomTransferHandler( "Source handler" );
              source.setTransferHandler( handler );
              try
                   source.getDropTarget().addDropTargetListener( handler );
              catch ( TooManyListenersException tmle )
                   tmle.printStackTrace();
              dest = new MyJTable();
              destModel = new MyTableModel();
              dest.setModel( destModel );
              dest.setDragEnabled( true );
              handler = new CustomTransferHandler( "Dest handler" );
              dest.setTransferHandler( handler );
              try
                   dest.getDropTarget().addDropTargetListener( handler );
              catch ( TooManyListenersException tmle )
                   tmle.printStackTrace();
              c.add( new JScrollPane( source ), BorderLayout.WEST );
              c.add( new JScrollPane( dest ), BorderLayout.EAST );
              populate();
         private void populate( MyTableModel model )
              for ( int index = 0; index < NAMES.length; ++index )
                   model.setRow( index, new DataRow( index + 1, NAMES[ index ] ) );
         private void populate()
              populate( sourceModel );
              populate( destModel );
         public static void main( String [] args )
              TestFrame app = new TestFrame();
              app.addWindowListener(
                   new WindowAdapter() {
                        public void windowClosing( WindowEvent we )
                             System.exit( 0 );
              app.pack();
              app.setSize( 1000, 600 );
              app.show();
         private class MyJTable extends JTable
              public boolean getScrollableTracksViewportHeight()
                   Component parent = getParent();
                   if (parent instanceof JViewport)
                        return parent.getHeight() > getPreferredSize().height;
                   return false;
    }=====================================================================
    MyTableModel.java
    * MyTableModel.java
    * Created on October 21, 2002, 4:43 PM
    import java.util.ArrayList;
    * @author  readb
    public class MyTableModel extends javax.swing.table.AbstractTableModel
         private static final int          NUMBER               = 0;
         private static final int          NAME               = 1;
         private static final String []     COLUMN_HEADINGS     = { "Number", "Name" };
         private ArrayList data;
         /** Creates a new instance of MyTableModel */
         public MyTableModel()
              super();
              data = new ArrayList();
         public int getColumnCount()
              return COLUMN_HEADINGS.length;
         public String getColumnName( int index )
              return COLUMN_HEADINGS[ index ];
         public Class getColumnClass( int index )
              switch ( index )
                   case NUMBER:
                        return Integer.class;
                   case NAME:
                        return String.class;
                   default:
                        throw new IllegalArgumentException( "Illegal column index: " + index );
         public int getRowCount()
              return ( null == data ? 0 : data.size() );
         public Object getValueAt( int row, int column )
              DataRow dataRow = ( DataRow ) data.get( row );
              switch ( column )
                   case NUMBER:
                        return new Integer( dataRow.getNumber() );
                   case NAME:
                        return dataRow.getName();
                   default:
                        throw new IllegalArgumentException( "Illegal column index: " + column );
         public void addRow( DataRow row )
              int rowIndex = data.size();
              data.add( row );
              fireTableRowsInserted( rowIndex, rowIndex );
         public void addRows( DataRow [] rows )
              int firstRow = data.size();
              for ( int index = 0; index < rows.length; ++index )
                   data.add( rows[ index ] );
              fireTableRowsInserted( firstRow, data.size() - 1 );
         public void setRow( int index, DataRow row )
              if ( index == data.size() )
                   data.add( row );
              else
                   data.set( index, row );
              fireTableRowsUpdated( index, index );
         public void insertRows( int index, DataRow [] rows )
              for ( int rowIndex = rows.length - 1; rowIndex >= 0; --rowIndex )
                   data.add( index, rows[ rowIndex ] );
              fireTableRowsInserted( index, index + rows.length - 1 );
         public DataRow getRow( int index )
              return ( DataRow ) data.get( index );
         public DataRow removeRow( int index )
              DataRow retVal = ( DataRow ) data.remove( index );
              fireTableRowsDeleted( index, index );
              return retVal;
         public boolean removeRow( DataRow row )
              int index = data.indexOf( row );
              boolean retVal = data.remove( row );
              fireTableRowsDeleted( index, index );
              return retVal;
         public void removeRows( DataRow [] rows )
              for ( int index = 0; index < rows.length; ++index )
                   data.remove( rows[ index ] );
              fireTableDataChanged();
    }=====================================================================
    DataRow.java
    * DataRow.java
    * Created on October 21, 2002, 4:41 PM
    import java.io.Serializable;
    * @author  readb
    public class DataRow implements Serializable
         private int          number;
         private String     name;
         /** Creates a new instance of DataRow */
         public DataRow( int number, String name )
              this.number = number;
              this.name = name;
         public int getNumber()
              return number;
         public String getName()
              return name;
         public String toString()
              return String.valueOf( number ) + ": " + name;
    }======================================================================
    CustomTransferHandler.java
    * CustomTransferHandler.java
    * Created on October 22, 2002, 8:36 AM
    import java.awt.*;
    import java.awt.datatransfer.Clipboard;
    import java.awt.datatransfer.ClipboardOwner;
    import java.awt.datatransfer.DataFlavor;
    import java.awt.datatransfer.Transferable;
    import java.awt.datatransfer.UnsupportedFlavorException;
    import java.awt.dnd.*;
    import java.awt.event.InputEvent;
    import java.io.IOException;
    import java.util.Arrays;
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JComponent;
    import javax.swing.JTable;
    import javax.swing.TransferHandler;
    * @author  readb
    public class CustomTransferHandler
                   extends TransferHandler
                   implements Transferable, ClipboardOwner, DropTargetListener
         public static final DataFlavor     ROW_ARRAY_FLAVOR     = new DataFlavor( DataRow[].class, "Multiple rows of data" );
         private String               name;
         private ImageIcon          myIcon;
         private     DataRow []          data;
         private boolean               clipboardOwner                    = false;
         private int                    rowIndex                         = -1;
         /** Creates a new instance of CustomTransferHandler */
         public CustomTransferHandler( String name )
              this.name = name;
         public boolean canImport( JComponent comp, DataFlavor [] transferFlavors )
              System.err.println( "CustomTransferHandler::canImport" );
              if ( comp instanceof JTable && ( ( JTable ) comp ).getModel() instanceof MyTableModel )
                   for ( int index = 0; index < transferFlavors.length; ++index )
                        if ( ! transferFlavors[ index ].equals( ROW_ARRAY_FLAVOR ) )
                             return false;
                   return true;
              else
                   return false;
         protected Transferable createTransferable( JComponent c )
              System.err.println( "CustomTransferHandler::createTransferable" );
              if ( ! ( c instanceof JTable ) || ! ( ( ( JTable ) c ).getModel() instanceof MyTableModel ) )
                   return null;
              this.data = null;
              JTable               table     = ( JTable ) c;
              MyTableModel     model     = ( MyTableModel ) table.getModel();
              Clipboard          cb          = table.getToolkit().getSystemClipboard();
              cb.setContents( this, this );
              clipboardOwner = true;
              int [] selectedRows = table.getSelectedRows();
              Arrays.sort( selectedRows );
              data = new DataRow[ selectedRows.length ];
              for ( int index = 0; index < data.length; ++index )
                   data[ index ] = model.getRow( selectedRows[ index ] );
              return this;
         public void exportAsDrag( JComponent comp, InputEvent e, int action )
              super.exportAsDrag( comp, e, action );
              Clipboard          cb          = comp.getToolkit().getSystemClipboard();
              cb.setContents( this, this );
         protected void exportDone( JComponent source, Transferable data, int action )
              System.err.println( "CustomTransferHandler::exportDone" );
              if ( TransferHandler.MOVE == action && source instanceof JTable && ( ( JTable ) source ).getModel() instanceof MyTableModel )
                   JTable table = ( JTable ) source;
                   MyTableModel model = ( MyTableModel ) table.getModel();
                   int [] selected = table.getSelectedRows();
                   for ( int index = selected.length - 1; index >= 0; --index )
                        model.removeRow( selected[ index ] );
         public void exportToClipboard( JComponent comp, Clipboard clip, int action )
              System.err.println( "CustomTransferHandler::exportToClipboard" );
         public int getSourceActions( JComponent c )
              System.err.println( "CustomTransferHandler::getSourceActions" );
              if ( ( c instanceof JTable ) && ( ( JTable ) c ).getModel() instanceof MyTableModel )
                   return MOVE;
              else
                   return NONE;
          *     I've commented this out because it doesn't appear to work in any case.
          *     The image isn't null but as far as I can tell this method is never
          *     invoked.
    //     public Icon getVisualRepresentation( Transferable t )
    //          System.err.println( "CustomTransferHandler::getVisualRepresentation" );
    //          if ( t instanceof CustomTransferHandler )
    //               if ( null == myIcon )
    //                    try
    //                         myIcon = new ImageIcon( getClass().getClassLoader().getResource( "dragimage.gif" ) );
    //                    catch ( Exception e )
    //                         System.err.println( "CustomTransferHandler::getVisualRepresentation: exception loading image" );
    //                         e.printStackTrace();
    //                    if ( null == myIcon )
    //                         System.err.println( "CustomTransferHandler::getVisualRepresentation: myIcon is still NULL" );
    //               return myIcon;
    //          else
    //               return null;
         public boolean importData( JComponent comp, Transferable t )
              System.err.println( "CustomTransferHandler::importData" );
              super.importData( comp, t );
              if ( ! ( comp instanceof JTable ) )
                   return false;
              if ( ! ( ( ( JTable ) comp ).getModel() instanceof MyTableModel ) )
                   return false;
              if ( clipboardOwner )
                   return false;
              if ( !t.isDataFlavorSupported( ROW_ARRAY_FLAVOR ) )
                   return false;
              try
                   data = ( DataRow [] ) t.getTransferData( ROW_ARRAY_FLAVOR );
                   return true;
              catch ( IOException ioe )
                   data = null;
                   return false;
              catch ( UnsupportedFlavorException ufe )
                   data = null;
                   return false;
         public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
              System.err.println( "MyTransferable::getTransferData" );
              if ( flavor.equals( ROW_ARRAY_FLAVOR ) )
                   return data;
              else
                   throw new UnsupportedFlavorException( flavor );
         public DataFlavor[] getTransferDataFlavors()
              System.err.println( "MyTransferable::getTransferDataFlavors" );
              DataFlavor [] flavors = new DataFlavor[ 1 ];
              flavors[ 0 ] = ROW_ARRAY_FLAVOR;
              return flavors;
         public boolean isDataFlavorSupported( DataFlavor flavor )
              System.err.println( "MyTransferable::isDataFlavorSupported" );
              return flavor.equals( ROW_ARRAY_FLAVOR );
         public void lostOwnership( Clipboard clipboard, Transferable transferable )
              clipboardOwner = false;
         /** Called while a drag operation is ongoing, when the mouse pointer enters
          * the operable part of the drop site for the <code>DropTarget</code>
          * registered with this listener.
          * @param dtde the <code>DropTargetDragEvent</code>
         public void dragEnter(DropTargetDragEvent dtde)
         /** Called while a drag operation is ongoing, when the mouse pointer has
          * exited the operable part of the drop site for the
          * <code>DropTarget</code> registered with this listener.
          * @param dte the <code>DropTargetEvent</code>
         public void dragExit(DropTargetEvent dte)
         /** Called when a drag operation is ongoing, while the mouse pointer is still
          * over the operable part of the drop site for the <code>DropTarget</code>
          * registered with this listener.
          * @param dtde the <code>DropTargetDragEvent</code>
         public void dragOver(DropTargetDragEvent dtde)
         /** Called when the drag operation has terminated with a drop on
          * the operable part of the drop site for the <code>DropTarget</code>
          * registered with this listener.
          * <p>
          * This method is responsible for undertaking
          * the transfer of the data associated with the
          * gesture. The <code>DropTargetDropEvent</code>
          * provides a means to obtain a <code>Transferable</code>
          * object that represents the data object(s) to
          * be transfered.<P>
          * From this method, the <code>DropTargetListener</code>
          * shall accept or reject the drop via the
          * acceptDrop(int dropAction) or rejectDrop() methods of the
          * <code>DropTargetDropEvent</code> parameter.
          * <P>
          * Subsequent to acceptDrop(), but not before,
          * <code>DropTargetDropEvent</code>'s getTransferable()
          * method may be invoked, and data transfer may be
          * performed via the returned <code>Transferable</code>'s
          * getTransferData() method.
          * <P>
          * At the completion of a drop, an implementation
          * of this method is required to signal the success/failure
          * of the drop by passing an appropriate
          * <code>boolean</code> to the <code>DropTargetDropEvent</code>'s
          * dropComplete(boolean success) method.
          * <P>
          * Note: The data transfer should be completed before the call  to the
          * <code>DropTargetDropEvent</code>'s dropComplete(boolean success) method.
          * After that, a call to the getTransferData() method of the
          * <code>Transferable</code> returned by
          * <code>DropTargetDropEvent.getTransferable()</code> is guaranteed to
          * succeed only if the data transfer is local; that is, only if
          * <code>DropTargetDropEvent.isLocalTransfer()</code> returns
          * <code>true</code>. Otherwise, the behavior of the call is
          * implementation-dependent.
          * <P>
          * @param dtde the <code>DropTargetDropEvent</code>
         public void drop(DropTargetDropEvent dtde)
              System.err.println( "CustomTransferHandler::drop" );
              Component c = dtde.getDropTargetContext().getDropTarget().getComponent();
              if ( ! ( c instanceof JComponent ) )
                   dtde.rejectDrop();
                   return;
              JComponent comp = ( JComponent ) c;
              if ( ! ( c instanceof JTable ) || ! ( ( ( JTable ) c ).getModel() instanceof MyTableModel ) )
                   dtde.rejectDrop();
                   return;
              dtde.acceptDrop( TransferHandler.MOVE );
              //     THIS is such a mess -- you can't do the following because
              //     getTransferable() throws an (undocumented) exception - what's that
              //     all about.
    //          Transferable t = dtde.getTransferable();
    //               if ( !t.isDataFlavourSupported( ROW_ARRAY_FLAVOR ) )
    //                    dtde.rejectDrop();
    //                    return false;
    //          TransferHandler handler = comp.getTransferHandler();
    //          if ( null == handler || ! handler.importData( comp, t ) )
    //               dtde.rejectDrop();
    //               return;
              Point p = dtde.getLocation();
              JTable table = ( JTable ) comp;
              rowIndex = table.rowAtPoint( p );
              //     So you have to do this instead and use the data that's been
              //     stored in the data member via import data.  Total mess.
              if ( null == data )
                   dtde.rejectDrop();
                   return;
              MyTableModel model = ( MyTableModel ) table.getModel();
              if ( rowIndex == -1 )
                   model.addRows( data );
              else
                   model.insertRows( rowIndex, data );
              dtde.acceptDrop( TransferHandler.MOVE );
         /** Called if the user has modified
          * the current drop gesture.
          * <P>
          * @param dtde the <code>DropTargetDragEvent</code>
         public void dropActionChanged(DropTargetDragEvent dtde)
    }

    Hi again,
    Well I've tried using the MouseListener / MouseMotionListener approach but it doesn't quite seem to work, although it does get the events correctly. I think the reason is that it doesn't interact correctly with the Java DnD machinery which is something that V.V hinted at. It's something that I may need to look into if / when I have more time available.
    I have to say though that I haven't had any problems with scrollbars - we're making fairly heavy use of large tables and if you drag over a table with a scroll bar and move to the top or bottom then it scrolls as you would expect and allows you to drop the data where you like. For this situation I've used pretty much the same approach as for the toy example above except that I've implemented separate source and destination TransferHandlers (the source table is read-only, and it really doesn't make sense to allow people to drag from the destination table so I've essentially split the functionality of the example handler down the middle).
    I'm not actually particularly in favour of messing too much with the mechanics of DnD, more because of lack of time than anything else. Guess I'll just have to put up with this for the moment. Doesn't help that DnD is so poorly documented by Sun.
    Thanks for all your help.
    Bart

  • Drag and Drop only partly functions in OSX Yosemite

    I recently updated my Macbook Pro to OSX Yosemite and noticed a few weeks after the update, that Drag and Drop stopped working properly roughly 30mins after starting the MB. Drag and Drop still works in the Finder for dragging files, or ein Chrome for dragging a tab into a diferent window. But dragging files and programs into the Dock is impossible. the problem occurs in other programs such as MS Office, for changing the order of pages in a presentation, or in Itunes for dragging Albums into Playlists for example. Restarting helps, but only for the first moments after the start. I found in a different Discussion that deleting a Cache file from the Library (/Users/USERNAME/Library/Preferences/com.apple.finder.plist) didnt help (Link to the Discussion: Cannot drag and drop files in Finder on Yosemite 10.10
    Thanks for your time in advance and i hope someone finds a solution as I dont want to reinstall the whole OSX

    Backgorund:
    Drag-drop suddenly stops working.
    Temporary solutions:
    4-5 reboots
    Removing com.apple.finder.plist file
    Have not tried:
    Reinstall Yosemite
    What I found out:
    For me, I found out that it's not only about drag/drop - it's about the clipboard. As far as copy/paste went, "nothing" work anymore. Not drag and drop, not cmd+c, not Edit > Copy. I started experience the issue just yesterday I think - it came out of the blue.
    However, a week ago I created an Automator scripts that review folder X for extension Y and then moves the file of said extension into a separate folder. Essentially, it's a cut and paste job that Automator does all the time.
    Soluton:
    Removed the Automator workflow i created from /users/username/library/workflows. Rebooted computer. Drag/drop and copy/paste has been working for over an hour.

  • Using drag and drop in remote desktop on windows server 2008

    we running an application on windows server 2008 terminal services .. this application was support drag and drop functionality .. i understand that terminal services on windows 2008 is supported to drag and drop but is not happening !! even when i run remote desktop connection on this server the drag and the drop is not working !
    i need to enable the drag and drop for windows 2008 terminal services  ..
    Thanks in advance

    Hello Ayman,
    If your requirement is to drag and drop files between local and remote sessions, Danny is right. Drag-and-drop feature is not supported in Windows Server 2008-based Terminal Server, which is a by-design behavior hard-coded in the current version of the Remote Desktop Protocol.
    As a workaround, I recommend you to use copy-and-paste function instead of drag-and-drop. To enable the copy-and-paste between local and remote session, please enable the clipboard redirection in Windows Server 2008-based RDC. (In Windows Server 2003 environment, local drive redirection is needed.)
    Hope it helps. Thanks.
    Best Regards,
    Lionel Chen

  • Links between drag and drop Objekts

    Hello Pros,
    I need to create a Desktop Pane ore something.
    Here I want to place a bar with some buttons. By pressing on some of these it should create a new instance of a little Frame, Button, Label ore something where I can add a choice ore what ever.
    But this isn�t the Problem jet.
    What I need is a Pane like I tell but the created Object must be movable in the frame. And another Problem is to link them to another.
    All should be like a MS Visio ore something. Objects that linking to the direct follower.
    I hope someone can help me. What I need would be at first some code who show me how I can create some movable objects and how I link them. The lines must follow the objects.
    I hope some off you can help me.
    Thanks beforehand for your answers and sorry about my bad English ;-).

    GH wrote:
    Can you drag and drop between computers on the same network? I am using leopard and can move files via the finder; when using screen sharing it would be good to drag and drop between screens.
    Well, the obvious question is... did you try just dragging them between screens, and what happened? My guess is that it works - but if it doesn't, there's the nifty Get Clipboard Contents/Paste Clipboard contents commands that work between screens, and they work to copy and paste files cross-computer (which is actually much more convenient than drag-n-drop, since you don't have to worry about positioning two windows juuusst right...)
    s.

  • Cannot drag and drop file from photos app to photoshop

    Hi,
    I'm trying to open a file saved in my Photos library in Photoshop. Previously in iPhoto I could drag and drop the file to open in other applications including Photoshop but this functionality appears to be missing in the new Photos app. Am i missing something? Or is there another way to do it?
    thanks

    Tristan,
    I am stuck in the same place. Perhaps we could work on this together.
    I am trying to drag a single item from a JList to a text editor, Word, etc. I have two problems:
    1) I can't seem to get just the item in the JList to drag. It wants to drag the entire JList component.
    2) How does one define the remote application as the drop target? Have not found any examples either.
    Is the drop target actually the system clipboard?
    Rp

  • Cannot drag and drop CERTAIN photos from iPhoto 9.5.1

    I cannot drag and drop certain photos to the desktop (Mac OS X 10.9.3) from iPhoto 9.5.1
    When I encounter this problem the pointer has a circle with a slash as I drag the photo to the desktop and the file will not copy over.  I'd say 25% of my photos suffer from this problem.
    Some things of note:
    - photos that are affected have been taken by variety of devices: iPhone, DSLR camera, or scanned in from film (no device is specific to this problem)
    - a photo that cannot be copied is located in the same subfolder as one that can be copied so it's not folder specific
    - I have trashed the iPhoto prefs files as well as the cache file in Mac OS X 10.9.3
    - I have repaired permissions and the database as well as rebuilt the database in iPhoto all to no avail
    Help!

    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
    The title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.Click the Clear Display icon in the toolbar. Then try the action that you're having trouble with again. Select any messages that appear in the Console window. Copy them to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    The log contains a vast amount of information, almost all of which is irrelevant to solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    Some private information, such as your name, may appear in the log. Anonymize before posting.

  • Drag and drop to create a custom step

    Hi,
    I have a custom insertion palette in my custom user-interface. I want to allow the user to drag the step from the custom insertion palette into the sequence designer, like the original insertion palette. The custom insertion palette is in WPF.
    The data format for the drag and drop object is
    e.Data.GetFormats()
      {string[1]}
        [0]: "SeqEditor New Step Binary"
    The data is actually a MemoryStream:
    e.Data.GetData(e.Data.GetFormats()[0])
      {System.IO.MemoryStream}
        base {System.IO.Stream}: {System.IO.MemoryStream}
        CanRead: true
        CanSeek: true
        CanWrite: true
        Capacity: 6936
        Length: 6936
        Position: 0
    So it's actually some Unicode text if I read it with StreamReader:
    new StreamReader((Stream)e.Data.GetData(e.Data.GetFormats()[0]),Encoding.Unicode).ReadToEnd()
    "E@=3@JKZ100h\\L]JDYcLO7e9@FLU:h9iM]>5Uf16W>Hii091DHkYGJKJHMd[<...
    What's the proper way for me to implement the drag and drop feature for my custom insertion palette? I'm thinking to create a similar MemoryStream but I can't understand the format of the data.
    Thanks.
    Solved!
    Go to Solution.

    Please note that the clipboard format is not something we intend for users to create directly, and it might change in a future version of TestStand. So, if you do this, keep in mind it's possible it might not work in a future version of TestStand (i.e. we do not support creating clipboard items directly).
    That said, it might be possible to get it to work in current versions of TestStand as follows (I haven't tried to do exactly what you are doing, but here is how our format is currently generated):
    PropertyObject[] stepPropObjects = new PropertyObject[1];
    Step newStep = templateOfStep.AsPropertyObject().Clone("", PropertyOptions.PropOption_CopyAllFlags | PropertyOptions.PropOption_DoNotShareProperties) as Step;
    newStep.CreateNewUniqueStepId();
    stepPropObjects[0] = newStep as PropertyObject;
    DataObject dataObject = new DataObject();
    DataFormats.Format stepFormat = DataFormats.GetFormat("SeqEditor New Step Binary");
    string serializedPropertyObject = this.Engine.SerializeObjects(stepPropObjects, SerializationOptions.SerializationOption_UseBinary);
    serializedPropertyObject += "F"; // False for isEditCut (thus unique ID's will be created on paste).
    System.Text.UnicodeEncoding encodingForStrConv = new System.Text.UnicodeEncoding();
    byte[] buffer = encodingForStrConv.GetBytes(serializedPropertyObject);
    MemoryStream vvClipData = new MemoryStream(buffer);
    dataObject.SetData(stepFormat.Name, false, vvClipData);
    Hope this helps,
    -Doug

  • Drag and Drop objects with JavaFX properties

    Has anyone tried to implement drag and drop functionality with objects containing JavaFX properties? The issue I'm running into is that the objects appear to need to be serializable, and the JavaFX properties are not serializable. I can implement Externalizable instead of Serializable, and basically serialize the values contained by the FX properties, but of course I lose any bindings by doing this (as the listeners underlying the bindings are not serialized).
    The [url http://docs.oracle.com/javafx/2/api/javafx/scene/input/Clipboard.html]javadocs for Clipboard state "In addition to the common or built in types, you may put any arbitrary data onto the clipboard (assuming it is either a reference, or serializable. See more about references later)" but I don't see any further information about references (and at any rate, this doesn't really make sense since anything that's serializable would be a reference anyway). Is there a special DataFormat I can use to specify a reference in the local JVM so the reference gets passed without serialization?
    I know this might not make sense without a code example; I just thought someone might have come across this closely enough to recognize the problem. I'll try to post a code example tonight...

    Here's pretty much the simplest example I can come up with. I have a real-world example of needing to do this, but the object model for the real example is quite a bit more complex.
    For the toy example, imagine we have a list of projects, some employees, and we want to assign each project to one or more employees. I have a Project class with a title and assignee. (In real life you can imagine other properties; due date, status, etc.) I'll keep a ListView with a bunch of unassigned projects (titles but assignees equal to null) and then a ListView for each of the employees.
    To assign a project to an employee, the user should be able to drag from the "master" list view to one of the employee list views. When the project is dropped, we'll create a new project, set the assignee, and bind the title of the new project to the title of the project which was dragged. (Remember we want to be able to assign a single project to multiple employees.)
    So here's the first shot:
    A couple of simple model classes
    Project.java
    import java.io.Externalizable;
    import java.io.IOException;
    import java.io.ObjectInput;
    import java.io.ObjectOutput;
    import javafx.beans.property.ObjectProperty;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.beans.property.StringProperty;
    public class Project {
         private final StringProperty title ;
         private final ObjectProperty<Employee> assignee ;
         public Project(String title) {
              this.title = new SimpleStringProperty(this, "title", title);
              this.assignee = new SimpleObjectProperty<Employee>(this, "assignee");
         public Project() {
              this("");
         public StringProperty titleProperty() {
              return title ;
         public String getTitle() {
              return title.get() ;
         public void setTitle(String title) {
              this.title.set(title);
         public ObjectProperty<Employee> assigneeProperty() {
              return assignee ;
         public Employee getAssignee() {
              return assignee.get();
         public void setAssignee(Employee assignee) {
              this.assignee.set(assignee);
         @Override
         public String toString() {
              String t = title.get();
              Employee emp = assignee.get();
              if (emp==null) {
                   return t;
              } else {
                   return String.format("%s (%s)", t, emp.getName()) ;
    }Employee.java
    import java.io.Externalizable;
    import java.io.IOException;
    import java.io.ObjectInput;
    import java.io.ObjectOutput;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.beans.property.StringProperty;
    public class Employee {
         private StringProperty name ;
         public Employee(String name) {
              this.name = new SimpleStringProperty(this,"name", name);
         public StringProperty nameProperty() {
              return name ;
         public String getName() {
              return name.get();
         public void setName(String name) {
              this.name.set(name);
    }and the application
    DnDExample.java
    import javafx.application.Application;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.collections.ObservableList;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.control.ListCell;
    import javafx.scene.control.ListView;
    import javafx.scene.control.TextField;
    import javafx.scene.input.ClipboardContent;
    import javafx.scene.input.DataFormat;
    import javafx.scene.input.DragEvent;
    import javafx.scene.input.Dragboard;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.input.TransferMode;
    import javafx.scene.layout.HBox;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    public class DnDExample extends Application {
         private static final DataFormat PROJECT_DATA_FORMAT = new DataFormat("com.example.project"); // is there something special I can use here?
         @Override
         public void start(Stage primaryStage) {
              final HBox root = new HBox(5);
              final ListView<Project> allProjects = new ListView<Project>();
              final Employee fred = new Employee("Fred");
              final Employee ginger = new Employee("Ginger");
              final ListView<Project> fredsProjects = new ListView<Project>();
              final ListView<Project> gingersProjects = new ListView<Project>();
              final VBox employeeLists = new VBox(5);
              employeeLists.getChildren().addAll(new Label("Fred's Projects"), fredsProjects, new Label("Ginger's Projects"), gingersProjects);
              root.getChildren().addAll(allProjects, employeeLists);
              allProjects.setCellFactory(new Callback<ListView<Project>, ListCell<Project>>() {
                   @Override
                   public ListCell<Project> call(ListView<Project> listView) {
                        return new AllProjectListCell();
              allProjects.setEditable(true);
              final EventHandler<DragEvent> dragOverHandler = new EventHandler<DragEvent>() {
                   @Override
                   public void handle(DragEvent dragEvent) {
                        if (dragEvent.getDragboard().hasContent(PROJECT_DATA_FORMAT)) {
                             dragEvent.acceptTransferModes(TransferMode.COPY);
              fredsProjects.setOnDragOver(dragOverHandler);
              gingersProjects.setOnDragOver(dragOverHandler);
              fredsProjects.setOnDragDropped(new DragDropHandler(fred, fredsProjects.getItems()));
              gingersProjects.setOnDragDropped(new DragDropHandler(ginger, gingersProjects.getItems()));
              allProjects.getItems().addAll(new Project("Implement Drag and Drop"), new Project("Fix serialization problem"));
              Scene scene = new Scene(root, 600, 400);
              primaryStage.setScene(scene);
              primaryStage.show();
         public static void main(String[] args) {
              launch(args);
         private class DragDropHandler implements EventHandler<DragEvent> {
              private final Employee employee ;
              private final ObservableList<Project> itemList;
              DragDropHandler(Employee employee, ObservableList<Project> itemList) {
                   this.employee = employee ;
                   this.itemList = itemList ;
              @Override
              public void handle(DragEvent event) {
                   Dragboard db = event.getDragboard();
                   if (db.hasContent(PROJECT_DATA_FORMAT)) {
                        Project project = (Project) db.getContent(PROJECT_DATA_FORMAT);
                        Project assignedProject = new Project();
                        assignedProject.titleProperty().bind(project.titleProperty());
                        assignedProject.setAssignee(employee);
                        itemList.add(assignedProject);
         private class AllProjectListCell extends ListCell<Project> {
              private TextField textField ;
              private final EventHandler<MouseEvent> dragDetectedHandler ;
              AllProjectListCell() {               
                   this.dragDetectedHandler = new EventHandler<MouseEvent>() {
                        @Override
                        public void handle(MouseEvent event) {
                             Dragboard db = startDragAndDrop(TransferMode.COPY);
                             ClipboardContent cc = new ClipboardContent();
                             cc.put(PROJECT_DATA_FORMAT, getItem());
                             db.setContent(cc);
                             event.consume();
                   this.setEditable(true);
              @Override
              public void updateItem(final Project project, boolean empty) {
                   super.updateItem(project, empty);
                   if (empty) {
                        setText(null);
                        setGraphic(null);
                        setOnDragDetected(null);
                   } else if (isEditing()) {
                        if (textField != null) {
                             textField.setText(getItem().getTitle());
                        setText(null) ;
                        setOnDragDetected(null);
                        setGraphic(textField);                    
                   } else {
                        setText(project.getTitle());
                        setOnDragDetected(dragDetectedHandler);
              @Override
              public void startEdit() {
                   super.startEdit();
                   if (!isEmpty()) {
                        textField = new TextField(getItem().getTitle());
                        textField.setMinWidth(this.getWidth()-this.getGraphicTextGap());
                        textField.focusedProperty().addListener(new ChangeListener<Boolean>() {
                             @Override
                             public void changed(
                                       ObservableValue<? extends Boolean> observable,
                                       Boolean oldValue, Boolean newValue) {
                                  if (! newValue) {
                                       getItem().setTitle(textField.getText());
                                       commitEdit(getItem());
                        setText(null);
                        setGraphic(textField);
                        setOnDragDetected(null);
              @Override
              public void cancelEdit() {
                   super.cancelEdit();
                   if (!isEmpty()) {
                        setText(getItem().getTitle());
                        setGraphic(null);
                        setOnDragDetected(dragDetectedHandler);
                   } else {
                        setText(null);
                        setGraphic(null);
                        setOnDragDetected(null);
              @Override
              public void commitEdit(Project project) {
                   super.commitEdit(project);
                   if (!isEmpty()) {
                        setText(getItem().getTitle());
                        setGraphic(null);
                        setOnDragDetected(dragDetectedHandler);
    }If you try to drag from the list on the left to one of the lists on the right, it will fail pretty quickly and tell you that the data need to be Serializable.
    Simply adding "implements Serializable" to the Project and Employee classes doesn't work, as you find that SimpleStringProperty and SimpleObjectProperty are not Serializable. So instead I can use Externalizable:
    public class Project implements Externalizable {
    @Override
         public void writeExternal(ObjectOutput out) throws IOException {
              out.writeObject(title.get());
              out.writeObject(assignee.get());
         @Override
         public void readExternal(ObjectInput in) throws IOException,
                   ClassNotFoundException {
              setTitle((String)in.readObject());
              setAssignee((Employee)in.readObject());
    }and
    public class Employee implements Externalizable {
         @Override
         public void writeExternal(ObjectOutput out) throws IOException {
              out.writeObject(name.get());
         @Override
         public void readExternal(ObjectInput in) throws IOException,
                   ClassNotFoundException {
              setName((String) in.readObject());
    }This makes the drag and drop work, but if you drop a project on one of the employee lists, then edit the project title in the master list, the binding is not respected. This is because deserialization creates a new SimpleStringProperty for the title, which is not the property to which the title of the new Project object is bound.
    What I really want to do is to be able to drag and drop an object within the same JVM simply by passing the object by reference, rather than by serializing it. Is there a way to do this? Is there some DataFormat type I need?

  • Drag and drop to apply color to art.

    Hi All,
    I am designing a panel for Illustrator CS6 that displays colors in a datagrid as follows,
    [Color] [Color_Name]
    I want to be able to apply color to any art by using the drag-n-drop from the panel to the document. Is it possible that I am able to detect the art on which the color was dropped so that I can apply the color?
    Thanks!

    I came upon the NativeDragManager class of the CS Extension. We can use it to drag and drop objects from the panel to the application document. For this we use the ClipBoard and specify the format of the clipboard data. There are quite a few formats, namely, bitmap, text, url, file, etc. However, I couldn't use any of these so that I might drag a color from my panel to the document.
    Here is a code to drag and drop a text from panel to document,
    var clip:Clipboard = new Clipboard();
    clip.setData(ClipboardFormats.TEXT_FORMAT, designsDG.selectedItem.Colors);
    var allowedActions:NativeDragOptions = new NativeDragOptions();
    NativeDragManager.doDrag(designsDG.selectedItem as InteractiveObject, clip);
    Here designsDG is the datagrid containing the text.
    How can I do something similar for a color object?
    Any inputs?

  • Drag and drop external text into a Flex component

    Hi,
    is there any way to allow drag and drop of external text (for
    example, selected text from another browser or even from the
    address bar) into a Flex component like TextArea? I know how to
    drag and drop between two different Flex components but in this
    case, the source is external. There must be something I can do to
    TextArea like its dragdrop property to allow this feature... any
    help would be greatly appreciated.
    Thanks,
    Josh

    Short answer: Yes, as long as it is an AIR app.
    Browser-based Flex apps do not have access to
    ClipBoardFormats, so I'm not sure it is possible to do what I think
    you want to do -- have a web-based Flex app that allows you to drag
    and drop selected text from other apps. Most possibly because of
    the security sandbox that the Flash player runs in.
    However, if you wanted to do it in an AIR app, I built this
    as an example for you (you can view a "cleaner" version with proper
    indents at
    http://pastebin.com/f741cbac8
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="initDandD();" width="500" height="600">
    <mx:Script>
    <![CDATA[
    public function initDandD():void {
    addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,
    onDragIn);
    addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,
    onDragDrop);
    private function onDragIn(e:NativeDragEvent):void {
    if(e.clipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) {
    NativeDragManager.acceptDragDrop(this);
    private function onDragDrop(e:NativeDragEvent):void {
    var myString:String =
    e.clipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
    myTextArea.text = myString;
    ]]>
    </mx:Script>
    <mx:TextArea id="myTextArea" width="326"
    height="262"/>
    </mx:WindowedApplication>

  • Drag and drop file onto java app

    Hi,
    I would like to drag and drop a file from windows explorer onto a panel in my java app.
    All I need is that when the file is 'dropped', I can get a reference to the path of file.
    e.g.
    There is a file, C:\myFile.txt
    There is a String in my program called 'filePath'.
    I start my java app and dnd the file onto it.
    I want the path of the file to be assigned to the filePath String.
    I can then do more proccessing on the file which I already know how to do.
    Can anyone help.
    Thanks,
    Jim

    Tristan,
    I am stuck in the same place. Perhaps we could work on this together.
    I am trying to drag a single item from a JList to a text editor, Word, etc. I have two problems:
    1) I can't seem to get just the item in the JList to drag. It wants to drag the entire JList component.
    2) How does one define the remote application as the drop target? Have not found any examples either.
    Is the drop target actually the system clipboard?
    Rp

  • Drag and drop between computers

    Can you drag and drop between computers on the same network? I am using leopard and can move files via the finder; when using screen sharing it would be good to drag and drop between screens.
    GH

    GH wrote:
    Can you drag and drop between computers on the same network? I am using leopard and can move files via the finder; when using screen sharing it would be good to drag and drop between screens.
    Well, the obvious question is... did you try just dragging them between screens, and what happened? My guess is that it works - but if it doesn't, there's the nifty Get Clipboard Contents/Paste Clipboard contents commands that work between screens, and they work to copy and paste files cross-computer (which is actually much more convenient than drag-n-drop, since you don't have to worry about positioning two windows juuusst right...)
    s.

  • Cannot drag and drop a layer(s) from 1 PS file to another.

    Hello,
    I have just installed PS CS5.1 and used 64bit version (Yes, I have restarted my PC).
    I have found 2 problems straight away: when you are trying to drag and drop images from layers panel to another PS file (see image above), it won't do it like it was in CS5: the current solution is to choose them in layers panel, but start dragging them from the image window.
    Another problem is with the clipboard: I cannot paste to in PS5.1 more than 1 image captured with PrintScreen: as long as I click PrintScreen only the first 1, although if I open PS5 the image captured by Prinscreen changes with out problems to the latest one. After restart I could not even paste a single picture, while pastes in other applications are working fine.
    As these are 2 big issues for my current state of work, I am rolling back to PS5, until the fixes will be made.
    Regards,
    Pavel

    Hi Rahul,
    It seams that not many people were using 64bit PS, since there were not many plugins available, but now there are more and more of them, and probably this bug would not be the only issue.
    UPDATE: Sorry, I was wrong on the drag and drop layers from layers panel to another PS file: it probably was always unavailable, but could be a good idea for future interface solutions.
    Hopefully our favourite software manufacturer Adobe will respond to our message with a hot fix
    Regards,
    Pavel

Maybe you are looking for