Arrastrar JButton de un JPanel a otro.

Hola un saludo a todos, espero puedan ayudarme con algunos tips, en fin... Explico mi problema.

Como dice el título del tema, deseo arrastrar un componente (en este caso un JButton) de un JPanel a otro, he logrado mover el botón mediante la función setLocation() y mouseDragged(), sin embargo no tengo ni la menor idea de como hacerle para que cuando arrastre el botón desde el "Panel1" al "Panel2" éste se quede en el "panel2". Lo único que tengo hasta ahora es la capacidad de arrastrar el botón a mi voluntad pero solo dentro del rango del "JPanel1" porque cuando sale del rango del "panel1" (es decir... Al JFrame) simplemente no se ve. He estado leyendo algo de documentación y tutoriales en inglés pero simplemente no capto la idea. Bueno, aquí les dejo el código.

 

Quisiera poder lograr ese cometido ya que tengo algunas ideas de programas donde me gustaría implementarlo.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Existe un API de Drag and

Existe un API de Drag and Drop

No la conozco bien pero seguramente podrás encontrar algo más sofisticado ahí:

No olvides postear tus hallazgos.

Imagen de Leonardo

Muchas gracias

Gracias por tu atención, lo checaré más a fondo, hasta ahora tuve tiempo de entrar al foro para ver si habían respondido, un saludo.