Movendo Imagem com Mouse

Pessoal,

Gostaria de saber como posso mover uma imagem numa posição a outra:

Usando um primeiro click do mouse pra pegar as posições dessa imagem e depois um segundo click para mover pra a coordenada desse segundo click. Ou pode ser até um dragAndDrop.

Estou em duvida de qual componente devo usar, MousePressed, MouseRelease, por exemplo.

Eu usaria um mousePressed e um mouseReleased.

No mouseHander crie um campo point guarde a localização do pressionamento quando mousePressed for acionado.
Quando o usuário soltar o mouse, veja a localização, e mova a imagem para algo como:

Point localParaMover = new Point( localSolto.x - localPressionado.x + localImagem.x, localSolto.y - localPressionado.y + localImagem.y );

Lembre-se sempre de guardar em uma váriavel na componente o local atual da imagem, e de certificar de que o local pressionado / solto está dentro das bordas do componente.

Boa sorte! =)