Pb avec les evenements sur un jbutton

gollum50 Messages postés 6 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 25 juin 2004 - 11 mai 2004 à 15:16
gollum50 Messages postés 6 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 25 juin 2004 - 13 mai 2004 à 15:34
Slt tt le monde,
voila j'espère que vous allez pouvoir m'aider, j'ai un bouton qui réalise une action lorsqu'il reçoit un évènement en l'occurrence un clic de la souris, mais j'aimerai qu'il puisse faire ce qu'il à faire en boucle. Cad qu'il réagisse tant que le bouton de la souris est enclenché et stoppe quand celui-ci est relaché. Mais j'ai pas encore trouvé comment faire...snif . Mais bon je pense qu'il y a bien quelqu'un qui a deja du faire un truc dans le même genre. Bref si vous avez un idée, n'hésitez pas.

5 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
11 mai 2004 à 15:43
Bonjour,

Il faut que ta classe implémente MouseListener (ou que tu en crées une), pour implémenter les méthodes :

mousePressed(MouseEvent e){}
mouseReleased(MouseEvent e){}


Enfin, j'espère t'avoir mis sur la bonne voie

Fanny
0
gollum50 Messages postés 6 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 25 juin 2004
11 mai 2004 à 16:35
Bonjour Fanny,

En fait j'utilise deja MousePressed(MouseEvent e) mais celui ci ne se declenche que lorsque je clique or je voudrai un evenement qui reste actif tant que le bouton de la souris est enclenchée.
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
11 mai 2004 à 18:11
Bonjour
Si tu veux tester le fait que la souris est enfonce, il faut implementer la classe MouseAdapter:
mouseClicked()
mouseEntered()
mouseExited()
mousePressed() //Celle qui t'intéresses
mouseReleased()

Voilà, en espérant que cela puisse t'aider
0
safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
13 mai 2004 à 11:37
la boucle que tu aurra à demarrer et stoper à chaque foi, tu peux l'implementer dand un thread.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gollum50 Messages postés 6 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 25 juin 2004
13 mai 2004 à 15:34
C'est bon j'ai réussi. En fait il suffisait effectivement d'utiliser un Thread. C'est pas compliqué mais quand on ne connait pas les Thread ca fait un peu peur. Voici le code pour ce que ca intéresse :

private class LongClick extends Actions implements Runnable 
// Actions est une classe abstraite qui implémente tous les Listeners //
{
Thread thread; 
public void mousePressed(MouseEvent ev)
{
System.out.println("start");
thread = new Thread(this);
ev.consume();
thread.start();

}
public void mouseReleased(MouseEvent ev)
{
System.out.println("stop");
thread = null ;
}
public void run() {
Thread thisThread = Thread.currentThread();
while(thread == thisThread)
{
..........
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}


Et encore merci à ceux qui auront pris le temps de me répondre.
0
Rejoignez-nous