Como posso arrastar imagens com o cursor do mouse na GUI Java?

// meu código que chama n imagens em um diretório para ser colocado no JPanel

 public void imageAdder(int n, String name){
    BufferedImage myPic = null;
    for (int i = 0; i <= n; i++){
        try {
        myPic = ImageIO.read(new File("Images/" + name + i + ".jpg"));
        } catch (Exception e){
        System.out.println("no file man cmon");
        }
        JLabel picLabel = new JLabel(new ImageIcon(myPic));
      //  picLabel.setBounds(mouseX, mouseY, 100, 50);
      //  picLabel.addMouseMotionListener(this);
      //  picLabel.addMouseListener(this);
        canvas.add(picLabel);
    }}

Eu li sobre a classe DragSource e como existe um método que arrasta coisas do tipo image, mas não tenho certeza se isso é aplicável, dado o meu código. O que devo fazer se quiser arrastar livremente as imagens com o mouse?