Arraste e mova uma imagem dentro de um JLabel com o clique do mouse

Eu tenho uma imagem dentro de um JLabel.

JLabel label = new JLabel(new ImageIcon("C:\\image.jpg"));
label.setSize(300,300);

Eu quero a seguinte funcionalidade.

-Eu clico em um local dentro do JLabel (na imagem).

-Com o botão do mouse pressionado, posso alterar a localização da imagem dentro do JLabel. (Eu arrasto a imagem para diferentes posições dentro do JLabel)

Bem, isso significa que, em muitos casos, a imagem será recortada e fora da vista.

Por favor, diga-me como implementar essa funcionalidade?

Quais são os ouvintes de eventos corretos para adicionar ao meu JLabel?

questionAnswers(3)

yourAnswerToTheQuestion