Déplacer un Label a l'aide de la souris
Résolu
kortobiI
Messages postés
21
Statut
Membre
-
kortobiI Messages postés 21 Statut Membre -
kortobiI Messages postés 21 Statut Membre -
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
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
- Deplacer la barre de tache 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);
}