Déplacer un Label a l'aide de la souris
Résolu
kortobiI
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
kortobiI Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
kortobiI Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Déplacer un Label a l'aide de la souris
- Déplacer colonne excel - Guide
- Quelle touche pour débloquer la souris ? - Guide
- Déplacer la barre des taches windows 11 - Guide
- Label printer logiciel - Télécharger - Outils professionnels
- Souris ordinateur - Guide
2 réponses
Il faut faire ça en combinaison avec un MouseListener.
Quand tu cliques, tu enregistres la position courante, puis quand tu déplaces tu déplaces le label en fonction de sa position courante, de la position de départ du déplacement (que l'on enregistre) et de la position actuelle de la souris.
Exemple :
Quand tu cliques, tu enregistres la position courante, puis quand tu déplaces tu déplaces le label en fonction de sa position courante, de la position de départ du déplacement (que l'on enregistre) et de la position actuelle de la souris.
Exemple :
public static void main(String[] args) { final JLabel label = new JLabel("label"); label.setBorder(BorderFactory.createLineBorder(Color.BLACK)); label.setBounds(0, 0, 30, 20); final Point pos = new Point(); label.addMouseListener(new MouseListener() { @Override public void mousePressed(MouseEvent e) { pos.setLocation(e.getX(),e.getY()); } public void mouseClicked(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} }); label.addMouseMotionListener(new MouseMotionListener() { @Override public void mouseDragged(MouseEvent e) { label.setLocation(label.getX()+e.getX()-pos.x, label.getY()+e.getY()-pos.y); } public void mouseMoved(MouseEvent e) {} }); JFrame frame = new JFrame(); frame.setLayout(null); frame.setSize(200,200); frame.add(label); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }