I'm trying to figure out how to enable drag and drop of JButtons between different JPanels. Basically I have a bunch of JButtons on screen whose only purpose is to display nice looking rectangles. I need to be able to drag any of the JButtons and drop them on a different JPanels. From what I gather about DnD in swing I need to set the transferhandler of the JPanels so they can accept JButtons dropped on them. According to the API the constructor for transferhandler accepts a Java Bean property. So you would pass in "text" to drag and drop text, but what do I pass in to drop a JButton?