Deplacement d,un bouton a l'aide de la sourit
Résolu
manoa21
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
manoa21 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
manoa21 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème, je voudrai déplacer un bouton a l'aide de la sourit. le bouton se déplace mais il ne suit pas le curseur, en plus le bouton prend deux position. j'ai utilise MouseMotionListener pour prendre la position du curseur dans la fenêtre. Voici ci-dessous le code que j'ai programmer. Je vous prie de m'aider car j'ai tant besoin de ce travail> merci d'avance.
J'ai un problème, je voudrai déplacer un bouton a l'aide de la sourit. le bouton se déplace mais il ne suit pas le curseur, en plus le bouton prend deux position. j'ai utilise MouseMotionListener pour prendre la position du curseur dans la fenêtre. Voici ci-dessous le code que j'ai programmer. Je vous prie de m'aider car j'ai tant besoin de ce travail> merci d'avance.
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Fenetre extends JFrame implements MouseMotionListener{ private int x=250; private int y=400; public JButton b=new JButton("bouton"); /** * */ private static final long serialVersionUID = 1L; public Fenetre(){ super(); this.setTitle ("Carte des pôles et des Zéros"); this.setSize(800,600); this.setLocationRelativeTo(null); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container cont= getContentPane(); cont.setLayout(null); b.setBounds(40,10, 100, 20); cont.add((Component) b); b.setBackground(Color.RED); b.addMouseMotionListener(new MouseMotionListener(){ @Override public void mouseDragged(MouseEvent j) { // TODO Auto-generated method stub x = j.getX(); y = j.getY(); b.setLocation(x,y); } @Override public void mouseMoved(MouseEvent arg0) { // TODO Auto-generated method stub } } ); this.setVisible(true); } }
import javax.swing.*; public class Corps { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JFrame fen=new Fenetre(); fen.setVisible(true); } }
A voir également:
- Deplacement d,un bouton a l'aide de la sourit
- Historique déplacement google - Guide
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Bouton home clavier ✓ - Forum PC portable
1 réponse
Pour ce que tu veux faire, il n'y a pas de raison que la classe Fenetre implémente MouseMotionListener, d'autant plus que tu ne définis pas ses méthodes...
Sinon, voici une version qui fonctionne de ton code :
Sinon, voici une version qui fonctionne de ton code :
import java.awt.Color; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import javax.swing.JButton; import javax.swing.JFrame; public class Fenetre extends JFrame { private static final long serialVersionUID = 1L; private int x=250; private int y=400; public final JButton b; public Fenetre() { setTitle("Carte des pôles et des Zéros"); setSize(800,600); setLocationRelativeTo(null); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(null); b=new JButton("bouton"); b.setBounds(40,10, 100, 20); b.setBackground(Color.RED); b.addMouseMotionListener(new MouseMotionListener() { private int dx,dy; public void mouseDragged(MouseEvent e) { x += e.getX()-dx; y += e.getY()-dy; b.setLocation(x,y); } public void mouseMoved(MouseEvent e) { dx = e.getX(); dy = e.getY(); } }); add(b); setVisible(true); } public static void main(String...args) { new Fenetre(); } }
Ou alors, en modifiant le MouseMotionListener :
Avec cette dernière solution, les variables x et y ne servent plus à rien...
J'ai essayé ce que vous m'avez suggéré hier et ça a marché ! Je vous remercie par ce que votre solution m'a tant aidé! Ce problème est résolu mais j'ai un nouveau problème concernant encore ce sujet : ce que nous avons fait c'est qu'on a placé le bouton dans une fenêtre qui hérite de JFrame mais si on utilise une autre classe qui hérite du JPanel en utilisant la méthode « paintComponent(Graphics g) » le bouton se déplace mais les autres positions que ce bouton a pris apparait encore ! En plus, si on relâche le souris et on glisse à nouveau le bouton le bouton prend la position initiale pour se déplacé.
Voici le code que j'ai fait ! Merci d'avance et encore merci de votre solution du dessus!
et voici ci dessous le code de JPanel