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 -
Bonjour,
comment faire pour déplacer un label quand on clique avec le bouton gauche de la sourie en utilisant MouseMontionListiner
position Initial
j'ai utilisé ce code mais le label ne suis pas le curseur
voici le code:
aidez moi sVp
merci d'avance
comment faire pour déplacer un label quand on clique avec le bouton gauche de la sourie en utilisant MouseMontionListiner
position Initial
label.setBounds(20,20,100,10);
j'ai utilisé ce code mais le label ne suis pas le curseur
voici le code:
label.addMouseMotionListener(new MouseMotionListener(){
public void mouseDragged(MouseEvent e) {
label.setBounds(e.getX(), e.getY(), 100, 10);
label.setVisible(true);
}
public void mouseMoved(MouseEvent e) {}
}
aidez moi sVp
merci d'avance
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 :
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); } -
je sais pas quoi dire ,merci beaucoup KX
Resolu