ce code présente comment detecter un simple ou un double clic de souris.
Source / Exemple :
/*
Classe DTimer :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DTimer extends JFrame
{
/*
Attribut
protected Timer timer; // objet javax.swing.Timer
protected int nb=0;
/*
Constructeur :
// construit un timer avec un inteval de temps donné par delay
public DTimer (int delay)
{ super ("Demo chrono sans thread");
/* Methode de l'interface ActionListener :
necessaire pour l'object javax.swing.Timer
methode appelle a intervalle de temps regulier par le timer
this.timer = new Timer (delay, new ActionListener(){
public void actionPerformed (ActionEvent e)
{
if (nb==1) System.out.println("simple");
if (nb==2) System.out.println("double");
stopDTimer ();
nb=0;
}
});
this.initGraphic ();
addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if ( isRunning () )
{ //this.stopDTimer ();
}
else // le timer est arrete donc on le lance ou relance
{
startDTimer ();
}
nb++;
System.out.println(""+nb);
}
});
}
/*
Methodes :
// initialise la partie graphique de la demo
protected void initGraphic ()
{
this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
this.setLocation (250, 250);
this.setVisible (true);
}
// lance le compteur de temps
public void startDTimer ()
{ this.timer.start ();
}
// stop le compteur de temps
public void stopDTimer ()
{ this.timer.stop ();
}
// permet de connaitre l'etat d'activite du timer (lance ou non)
public boolean isRunning ()
{ return ( this.timer.isRunning () );
}
public static void main (String argv [])
{ new DTimer (400);
}
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.