web-dev-qa-db-fra.com

Evénement de souris avec double clic en java

Par défaut, l'événement MouseClicked commence en un clic. J'en ai un dans une JTextPane mais je veux commencer par un double clic. C'est possible?

15
drew

Je crois que vous pouvez extraire le nombre de clics de MouseEvent (en supposant qu'il s'appelle e)

Essaye ça

if (e.getClickCount() == 2 && !e.isConsumed()) {
     e.consume();
     //handle double click event.
}
47
Johnny Rocket

Je ne pense pas qu'il y aura une solution à ce problème, car Java peut s'exécuter sur des périphériques autres que des ordinateurs. 

La plupart des appareils portables ne prennent pas en charge le double-clic. 

Vous pouvez suivre le moment de chaque clic de souris et déclencher votre propre événement "double-clic". Mais je ne pense pas que ce soit une bonne idée.

3
xiesusu
    private void jEditorPane3MouseClicked(Java.awt.event.MouseEvent evt) {                                          

            if (evt.getClickCount() == 2 && !evt.isConsumed()) {
                    evt.consume();
                    System.out.println("Double Click");
            }
    }
2
SanalBathery

Vous pouvez calculer le temps écoulé entre des clics consécutifs. Comparez-le avec une valeur seuil et décidez-vous s'il s'agit d'un double clic ou non.

0

Vous pouvez remplacer les méthodes mousePressed () ou mouseReleased () et demander si e.getClickCount () == 2, je vous recommande d'utiliser la méthode mousePressed () ou mouseReleased () à la place de la méthode mouseClicked (), car leur donner plus de temps effectuer les clics.

0
Hassingard