bonjour , j'ai cree un button sur un jpanel et j'aimerrai bien le faire bouger a l'aide de la souris si c'est possible merci d'avance
bonjour , j'ai cree un button sur un jpanel et j'aimerrai bien le faire bouger a l'aide de la souris si c'est possible merci d'avance
Tu doit faire un public void actionPerformed(ActionEvent e) {...}.
Tu veux dire du Drag & Drop ?
http://gfx.developpez.com/tutoriel/java/swing/drag/
Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum
Tu as plusieurs approches selon l'évènement de déclenchement :
- clic sur le bouton -> ActionListener
- faire glisser le bouton vers un autre endroit de ta fenetre -> Drag and Drop
- faire un jeu dans lequel le bouton "fuit" la souris -> MouseListener
- le bouton se déplace tout seul et aucun évènement ne l'affecte -> panel.setLayout(null), puis bouton.setBounds().
oui, drag and drop que je veux dire?encor une idée? merci bcp
Salut.
Tu peut faire un MouseListener avec la methode mouseDragged(MouseEvent e).
ce la te permet de glissé ton boutton ou tu veut.
En fette pour le bouger tu fait un setBounds(x,y,x_longeur,y_lageur), mais au lieu de faire un x et y dans la methode tu met e.getX() et e.getY(), ce la te permet de glisé ton boutton où est la position du curseur, ce que veut dire, whereever you want .
Testé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; public class BougerUnBouton { public static class MaFenetre{ private JFrame fenetre; private int largeurFenetre = 300; private int hauteurFenetre = 200; private JPanel panneau; private JButton bouton; private int largeurBouton = 100; private int hauteurBouton = 50; private String labelBouton = "OK"; private int xSourisClick; private int ySourisClick; public MaFenetre() { fenetre = new JFrame(); panneau = new JPanel(null); bouton = new JButton(labelBouton); panneau.add(bouton); fenetre.getContentPane().add(panneau); bouton.setSize(largeurBouton, hauteurBouton); bouton.setLocation(0, 0); bouton.addMouseMotionListener(new MesEvenementsSouris()); bouton.addMouseListener(new MesEvenementsSouris()); fenetre.setSize(largeurFenetre, hauteurFenetre); fenetre.setVisible(true); } public class MesEvenementsSouris implements MouseMotionListener, MouseListener { public void mouseMoved(MouseEvent e) {} public void mouseDragged(MouseEvent e) { e.getComponent().setLocation(e.getComponent().getX() + e.getX() - xSourisClick, e.getComponent().getY() + e.getY() - ySourisClick); } public void mouseClicked(MouseEvent e) {} public void mousePressed(MouseEvent e) { xSourisClick = e.getX(); ySourisClick = e.getY(); } public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} } } public static void main(String[] args) { MaFenetre mf = new MaFenetre(); } }
c'est pas un code ca , je dirais bien une penition c'est chaud ce que tu a ecrit.
merci bcp white rabit , c'etait exactement ce que me falait
Je peux enlever les commentaires si c'est trop lourd à lire ...Envoyé par charaf
D'ailleurs c'est fait
non non, j'ai pris juste qqs lignes qui me manquaient pour faire bouger mon boutton et ca a marché, c'est tres gentil de ta part .merci encore
Ben non c'est le minimum :Envoyé par charaf
je récupère dans xSourisClick et ysourisClick les coordonnées du curseur de la souris quand on clique sur le bouton ( les coordonnées sont relatives au bouton, pas à la fenêtre)
quand on bouge la souris avec un bouton appuyé on change la position du bouton avec un petit calcul où ob réutilise xSourisClick et ySourisClick
n'oublie pas le bouton
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
Ce serai pas mal de le mettre dans les petites sourcesdu forum java (les post-it) car ca c'est un petit code bien utile que l'on cherche souvent (surtout la formule de calcul de mouvement bien embetant ca j'ai mis 2 jours la dernire fois que j'en ai eu besoin pour la trouver)
Désolé si j'ai choqué du monde à trouver une petite formule de math en si longtemps ...
re salut.
chapeau tiré pour mensieur White Rabbit
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager