mouselistener ou pas

mouselistener ou pas - Java - Programmation

Marsh Posté le 30-06-2004 à 17:16:23    

Bonjour,  
 
Dans mon prog, j'ai juste besoin de savoir si le bouton de la souris est enfonce ou pas. Je ne veux pas declencher des actions suite a un evenement provenant de la souris, je veux juste regarder genre "if(mousePressed()){"
Est-ce que j'ai ad meme besoin mouseListener comme si je voulais gerer les evenements ??
 
 
Si on prend mon probleme plus concretement (plus clair pour beaucoup)
J'ai une scrollbar, que je gere donc avec AdjustmentListener . Mais quand je bouge le curseur de la scrollbar, je ne veux recuperer qu'une seule valeur: celle lors du relachement du bouton de la souris, et pas toutes les valeurs intermediaires(normal). Quelle est la meilleure solution?
 
merci

Reply

Marsh Posté le 30-06-2004 à 17:16:23   

Reply

Marsh Posté le 30-06-2004 à 21:17:52    

je pense que tu doit t'en tenir a AdjustmentListener , le coup du mousePressed() c'est pas terrible.


Message édité par veryfree le 30-06-2004 à 21:18:00
Reply

Marsh Posté le 01-07-2004 à 15:10:45    

Justement, mon probleme vient de adjustmentlistener : bien sur je veux l'utiliser, c'est pas la question, mais l'evenement est declenché a chaque fois que la valeur de la scroll bar change. Par consequent, qd tu deplace le curseur (en faisant un cliquer-glisser avec la souris), la methode qui traite l'event est presque appelé en continu, et c'est ce que je ne veux pas !!
 
Des propositions de solution ?

Reply

Marsh Posté le 01-07-2004 à 15:18:07    

c'est normal tout ca hein ;)
c'est comme tu definis un renderer, la methode qui redessine est contament appelée.
il te reste juste a récupérer la derniere valeur ( celle qui correspondra au scroll lorsque l'user n'y touchera plus.)

Reply

Marsh Posté le 01-07-2004 à 15:36:59    

ok veryfree, je vois que tu as compris ce que je veux, mais je ne capte pas toute ton explication , notament "c'est comme tu definis un renderer".
Tu peux m'eclaircir un peu plus ? En effet, je veux la valeur qui correspond au scroll lorsquon y touche plus...

Reply

Marsh Posté le 01-07-2004 à 21:49:25    

wixiz a écrit :

ok veryfree, je vois que tu as compris ce que je veux, mais je ne capte pas toute ton explication , notament "c'est comme tu definis un renderer".
Tu peux m'eclaircir un peu plus ? En effet, je veux la valeur qui correspond au scroll lorsquon y touche plus...


 
oubli le renderer, c'etait qu'un exemple ;)
 
montre moi ton a quoi ressemble le code actuellement.

Reply

Marsh Posté le 02-07-2004 à 08:48:24    

Tu dois pouvoir t'en sortir avec ça :  
 

Code :
  1. getValueIsAdjusting
  2. public boolean getValueIsAdjusting()
  3.     True if the scrollbar knob is being dragged.
  4.     Returns:
  5.         the value of the model's valueIsAdjusting property
  6.     See Also:
  7.         setValueIsAdjusting(boolean)


 
dans javax.swing.JScrollbar : si tu captes un AdjustmentEvent, tu ne fais qqchose que si getValueIsAdjusting() est faux.
 
Enfin, c'est une idée comme ça, j'ai pas testé!

Reply

Marsh Posté le 02-07-2004 à 09:32:40    

bah mon code pour l'instant ya pas grand chose, en gros c'est juste
 
public void AdjustmentValueChanged(Adjustment event e){
  mafonction(mabarre.getValue());
  }
 
mais je voudrais un truc du genre
public void AdjustmentValueChanged(Adjustment event e){
  if(!user_is_touching_bar){
     mafonction(mabarre.getValue());
   }
  }
 
c pas possible avec les librairies de base ??

Reply

Marsh Posté le 02-07-2004 à 09:41:49    

wixiz a écrit :

bah mon code pour l'instant ya pas grand chose, en gros c'est juste
 
public void AdjustmentValueChanged(Adjustment event e){
  mafonction(mabarre.getValue());
  }
 
mais je voudrais un truc du genre
public void AdjustmentValueChanged(Adjustment event e){
  if(!user_is_touching_bar){
     mafonction(mabarre.getValue());
   }
  }
 
c pas possible avec les librairies de base ??


 
T'as essayé :  
 

Code :
  1. public void AdjustmentValueChanged(Adjustment event e){
  2.   if(!mabarre.getValueIsAdjusting()){
  3.      mafonction(mabarre.getValue());
  4.    }
  5.   }

Reply

Marsh Posté le 02-07-2004 à 09:46:25    

ou en effet je viens de le faire, et ca marche, merci bcp !! (je croyais qu'il fallait utiliser Swing au debut mais en fait non, donc c cool)

Reply

Marsh Posté le 02-07-2004 à 09:46:25   

Reply

Marsh Posté le 02-07-2004 à 10:13:00    

Ah ouais, la méthode existe aussi pour java.awt.Scrollbar, j'avais pas regardé.

Reply

Sujets relatifs:

Leave a Replay

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