# JButton doppel klick oder normaler klick?



## chik (17. Mrz 2004)

Hallo,
ich würde gerne wenn man auf nen JButton doppelt klickt was anderes machen als wenn man den normal anklickt.
Kann man irgendwie abfagen, ob der doppelt angeklickt wurde oder so?

Wäre super wenn das ener wüsste 

Danke 

Krause


----------



## Beni (17. Mrz 2004)

Auch wenn das ein sehr komischer Button wäre: du kannst einen MouseListener (weil: MouseEvent.getClockCount()) hinzufügen. Dann darfst du allerdings keinen ActionListener verwenden (weil der immer beim ersten Klick aufgerufen wird), sondern musst vom MouseListener aus weitermachen. (Ein KeyListener für die ENTER-Taste wäre auch noch praktisch).


----------



## chik (17. Mrz 2004)

Aber wie geht das dann mit

MouseEvent.getClockCount()

zählt der nicht nur die Maus klicks und dabei egal in welchem abstand und so?
Gibt es nicht ne Abfrage ondoubleclick oder so?
Weil, ich will wenn man auf nem Button doppelt klicke ne andere Methode ausführen als beim einfachen klick.
Da es sich aber um ein Zoom Button handelt, muss der Benutzer den öfter betätigen.
Das 2. betätigen des Buttons löst dann aber schon die doppelklick Methode aus :-(

Oder hat jemand ne andere Idee, wie ich den Button doppelt belegen kann?
Ich will nämlich, das bei einem einfachen klick "normal" langsam reingezoomt wird, aber dann möchte ich noch ne Möglichkeit haben, sofort auf das Maximum zu zoomen 

Krause


----------



## schalentier (17. Mrz 2004)

es gibt in java keine einfache moeglichkeit einen doppelklick abzufragen, da jedem doppelklick ein einfacher klick vorrausgeht. die einzige moeglichkeit ist die, nach dem ersten klick eine gewisse zeit (0.4sec) zu warten. passiert waehrend dieser zeit ein weiterer klick, wurde doppelt geklickt, ansonsten nicht. 
allerdings empfehle ich dir dringend, dein problem mit 2 buttons zu loesen.


----------



## Stefan1200 (22. Mrz 2004)

MouseEvent.getClickCount()

das funktioniert bei mir ganz gut, auch wenn ich es bisher noch nicht auf Buttons angewendet habe.
Aber bei JList nutze ich diese Methode sehr häufig, und es funktioniert genauso, als wie bei anderen Sprachen mit onDoubleClick, mit dem Vorteil, das man theoretisch auf einem 3-Fach oder gar 4-Fach klick wieder anders reagieren kann ;-)


----------



## bygones (5. Apr 2004)

ein bsp was ich noch gefunden habe (der trick ist die reihe der abfrage):

```
component.addMouseListener(new MyMouseListener());
    public class MyMouseListener extends MouseAdapter {
        public void mouseClicked(MouseEvent evt) {
            if (evt.getClickCount() == 3) {
                // triple-click
            } else if (evt.getClickCount() == 2) {
                // double-click
            }
        }
    }
```


----------



## schalentier (12. Mai 2004)

das obige löst aber das problem nicht. wenn der user 3fach klickt, wird bei dir zuerst der code für doppelklick, dann der für 3erklick ausgeführt. denn wenn du 3 mal klickst, wird von java die mouseClick methode 3mal aufgerufen. einmal mit clickcount=1, dann =2, dann =3. das kann man nicht umgehen.


----------



## GHHFT (9. Dez 2008)

HI!


----------

