évènement lorsqu'on appuie (seulement) sur un bouton [résolu]

évènement lorsqu'on appuie (seulement) sur un bouton [résolu] - Java - Programmation

Marsh Posté le 05-05-2005 à 23:32:02    

bonjour,
 
Je dois changer l'icône d'un bouton quand un autre bouton est pressé (seulement pressé, pas relâché) donc il faut que je passe  par un évènement souris. Or quand je passe sur mes boutons (qui sont contenus dans un gridLayout), je n'ai plus d'évènement généré. Je me demande comment faire.
@++


Message édité par chaica le 06-05-2005 à 00:44:55

---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 05-05-2005 à 23:32:02   

Reply

Marsh Posté le 05-05-2005 à 23:38:54    


(Re-)bonjour chaica,  ;)  
 
Tu utilises un MouseListener ?
Peux-tu poster le code du listener sur le bouton à presser, et celui de son ajout au bouton ?
 
Nicolas
 
 

Reply

Marsh Posté le 05-05-2005 à 23:48:39    

re-bonjour (tu ne dors jamais :D ? )
 
Pour l'instant j'ai ça:

Code :
  1. addMouseListener ( new MouseAdapter ()
  2.  { public void mousePressed ( MouseEvent ev )
  3.   {
  4.     System.out.println ( "X: "+ev.getX () ) ;
  5.     System.out.println ( "Y: "+ev.getY () ) ;
  6.   }
  7.  } ) ;


 
qui fonctionne et me renvoie bien les coordonnées dans ma fenêtre mais je n'ai plus de message quand je passe sur mes boutons.


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 05-05-2005 à 23:54:54    

Tu voulais bien dire "quand je passe presse sur mes boutons", sinon c'est une autre méthode qu'il faut implémenter, je crois ?
 
Tu as bien "add-é" le listener au bouton que tu veux surveiller ?
 
Nicolas


Message édité par Nicolas_75 le 05-05-2005 à 23:55:15
Reply

Marsh Posté le 05-05-2005 à 23:59:37    

Je précise qu'il ne s'agit pas des boutons de la souris, mais de boutons JButton.
 
En fait si je presse le JButton et le relâche il me lance un ActionEvent tout simple. Moi je veux juste que le fait de presser la souris sur ce JButton provoque un évènement (parce que le fait de relâcher la souris va en provoquer un autre en fait).


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 06-05-2005 à 00:01:52    


J'avais bien compris, même si mon dernier message était ambigu.
 
Tu as bien "add-é" le listener au JButton que tu veux surveiller ?
 
Nicolas

Reply

Marsh Posté le 06-05-2005 à 00:09:27    

non j'ai pas add-é les JButton que je veux surveiller, en fait c'est les boutons d'un gridlayout entier que je veux surveiller (petite précision au cas où ça rendrait les choses pus claires). En fait je pensais que je serai obligé de passer par le positionnement des boutons dans la fenêtre.


Message édité par chaica le 06-05-2005 à 00:11:18

---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 06-05-2005 à 00:30:00    

Si tu appliques le addMouseListener à chacun de tes boutons (et non pas à la frame), cela devrait fonctionner.
Cela semble OK chez moi.
S'il y a beaucoup de boutons, tu peux créer une classe JButton2 héritant de JButton, dans laquelle tu add le MouseListener, et tu fais de tes boutons des instances de JButton2.
 
Nicolas


Message édité par Nicolas_75 le 06-05-2005 à 00:30:19
Reply

Marsh Posté le 06-05-2005 à 00:39:30    

Ok merci de ton aide, j'avais très mal compris le principe des évènements souris à force de lire des conneries sur Internet. Thx (encore une fois :))


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 06-05-2005 à 00:44:21    

;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed