Итак, я пытаюсь щелкнуть и перетащить JLabel вокруг JFrame. Следующий код позволяет перемещать JLabel вокруг экрана, когда мышь нажата/перетащена в любую точку экрана, но я не уверен, как добавить второй ActionListener, чтобы проверить, щелкнула ли мышь на ярлыке, предполагая, что является решением.
Я хотел бы иметь несколько JLabels на экране, чтобы только перемещаемая метка была той, которую щелкнула мышь и теперь перетаскивается.
Спасибо.
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);
}
}

