web-dev-qa-db-de.com

Mausevent mit Doppelklick in Java

Standardmäßig beginnt das MouseClicked-Ereignis mit einem Klick. Ich habe eine in einer JTextPane, aber ich möchte mit einem Doppelklick beginnen. Ist es möglich?

15
drew

Ich glaube, Sie können die Klickanzahl aus dem MouseEvent extrahieren (vorausgesetzt es heißt e)

Versuche dies

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

Ich glaube nicht, dass es dafür eine Lösung geben wird, da Java auf Geräten ohne PC laufen kann. 

Die meisten tragbaren Geräte unterstützen keinen Doppelklick. 

Sie können den Zeitpunkt jedes Mausklicks verfolgen und Ihr eigenes "Doppelklick" -Ereignis auslösen. Aber ich halte das nicht für eine gute Idee.

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

Sie können die Zeit zwischen aufeinanderfolgenden Klicks berechnen. Vergleichen Sie es mit einem Schwellenwert und entscheiden Sie selbst, ob es sich um einen Doppelklick handelt oder nicht.

0

Sie können die mousePressed () - oder mouseReleased () -Methode überschreiben und fragen, ob e.getClickCount () == 2, ich empfehle, die mousePressed () - oder mouseReleased () - Methode anstelle der mouseClicked () - Methode zu verwenden, da dies dem Benutzer mehr Zeit gibt die Klicks ausführen.

0
Hassingard