arrastrando una etiqueta alrededor de la pantalla

Así que estoy tratando de hacer clic y arrastrar un JLabel alrededor de un JFrame. El siguiente código permite mover un JLabel alrededor de la pantalla cuando se presiona / arrastra el mouse en cualquier punto de la pantalla, pero no estoy seguro de cómo agregar un segundo ActionListener para verificar si el mouse está haciendo clic en la etiqueta, suponiendo que Es la solución.

Me gustaría tener varios JLabels en la pantalla para que la única etiqueta que se mueve sea la que el mouse ha hecho clic y ahora está arrastrando.

Gracias.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

@SuppressWarnings("serial")
public class test extends JFrame implements MouseMotionListener {

private JPanel panel = new JPanel(null);    
private JLabel dragLabel = new JLabel("drag test");
private int mouseX = 200;
private int mouseY = 200;

public test() {
    this.add(panel);
    panel.setBackground(Color.WHITE);
    panel.add(dragLabel);
    dragLabel.setForeground(Color.RED);
    dragLabel.setBounds(mouseX, mouseY, 100, 50);
    panel.addMouseMotionListener(this);
}

@Override
public void mouseDragged(MouseEvent e) {
    mouseX = e.getX();
    mouseY = e.getY();
    dragLabel.setBounds(mouseX, mouseY, 100, 50);
}

@Override
public void mouseMoved(MouseEvent e) {}

public static void main(String[] args) {
    test frame = new test();
    frame.setVisible(true);
    frame.setSize(600, 400);
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta