Ignoriere Mausklick falls erster Klick von Doppelklick .

Status
Nicht offen für weitere Antworten.

-frank

Bekanntes Mitglied
ich möchte doppelklicks gesondert behandeln, also bei nem doppelklick soll X gemacht werden, bei nem einfachklick Y. mein problem: mittels getClickCount() kann ich zwar die Doppelklicks erkennen. zuvor wird die mouseClicked() methode aber immer mit einem clickcount von 1 aufgerufen. (also ein doppelklick ist immer ein einfachklick gefolgt von einem doppelklick)

ich habe jetzt an zwei möglichkeiten gedacht:
erstens: eine undo-funktion in mein programm einbauen, um die aktion, die der einzelklick (der keiner war) ausgelöst hat, rückgängig zu machen bzw. abzubrechen. das wäre relativ kompliziert.

zweitens: mouse-events abfangen und thread starten, der sagen wir 100ms sekunden auf einen zweiten klick wartet und dann ggf. erst den event dispatched bzw. bearbeitet.

variante 2 wäre in meinem fall wohl einfacher, aber unschön finde ich beide versionen. hat da jemand ne bessere idee bzw. habe ich vielleicht was übersehen in der API?
 

FenchelT

Bekanntes Mitglied
Hallo,


Normalerweise ist doch ein einfach Klick die "Anzeige" von etwas und ein Doppleklick die "Auswahl"

Beispiel WindoofExplorer: Du klickst in der Baumstruktur einmal ein Verzeichnis an und bekommst in der rechten Bildschirmhaelfte die entspr. Dateien und Unterverzeichnisse.

Ein Doppelklick im Baum oeffnet eine bestimmte Datei / einen bestimmten Ordner.
Diese beiden Dinge sind aber eng miteinander verbunden.

Daher meine Frage, welche zwei unabhaengigen Logiken moechtest Du denn mit den 1x bzw 2x MouseClicks erreichen?
 

-frank

Bekanntes Mitglied
FenchelT hat gesagt.:
Daher meine Frage, welche zwei unabhaengigen Logiken moechtest Du denn mit den 1x bzw 2x MouseClicks erreichen?

naja, stell dir zb sowas wie ein spielbrett vor:
einfachklick wählt die figur an (--> figur wird anders gefärbt, mögliche züge werden berechnet, etc.).
doppelklick: irgendein fenster öffnet sich, das informationen zur spielfigur zeigt.
 

trazzag

Bekanntes Mitglied
Naja, die Variante mit dem Thread klingt für mich gar nicht mal so unschön.

Bei deinem Beispiel ist es ja egal, ob die Selektion bei einem Doppelklick bereits besteht, oder nicht. In so einem Fall könntest du auch bei jedem Klick die Systemzeit in ms speichern und mit der vorigen Zeit abgleichen. Ist die Differenz kleiner als ein bestimmter Wert, führst du deine Doppelklick-Aktion aus.
 

FenchelT

Bekanntes Mitglied
-frank hat gesagt.:
FenchelT hat gesagt.:
Daher meine Frage, welche zwei unabhaengigen Logiken moechtest Du denn mit den 1x bzw 2x MouseClicks erreichen?

naja, stell dir zb sowas wie ein spielbrett vor:
einfachklick wählt die figur an (--> figur wird anders gefärbt, mögliche züge werden berechnet, etc.).
doppelklick: irgendein fenster öffnet sich, das informationen zur spielfigur zeigt.


Verstehe noch nicht, warum moegliche Zuege nicht schon berechnet werden koennen und zusaetzlich die Informationen angezeigt werden?

Nehmen wir an der Spieler(?) moechte sich per Doppelklick Informationen anzeigen lassen.
Zeitgleich werden schon die Informationen der moeglichen Zuege der Spielfigur berechnet und wenn der Spieler den Informationsdlg schliesst, zieht er die bereits markierte Figur oder selektiert eine andere.
Fuer mich haengt das genauso zusammen wie mein WindoodExplorer Beispiel.

Wenn Du das nicht moechtest waere es nicht einfacher nur auf einen einfachen Klick zu reagieren und die Doppelklick Funktionalitaet in einen Button auszulagern?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
R Scenenwechel per Mausklick AWT, Swing, JavaFX & SWT 1
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
Q-bert JTextField per Mausklick einfügen AWT, Swing, JavaFX & SWT 3
K Swing GridLayout - x und y bei Mausklick ausgeben AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Linie wird nach Mausklick nicht am richtigen Ort gezeichnet AWT, Swing, JavaFX & SWT 11
L Tabelle reagiert ungewollt auf Mausklick AWT, Swing, JavaFX & SWT 6
J Labelicon bei Mausklick an den Zeiger pinnen AWT, Swing, JavaFX & SWT 7
C Schleife auf Mausklick warten lassen AWT, Swing, JavaFX & SWT 6
M Mausklick an darunterliegende Komponente weiterleiten AWT, Swing, JavaFX & SWT 9
Semox Swing Kreis löschen durch Mausklick in der Nähe AWT, Swing, JavaFX & SWT 2
N Defaulttext per Mausklick auswählen AWT, Swing, JavaFX & SWT 4
P JTextArea text verschwindet bei mausklick AWT, Swing, JavaFX & SWT 5
M File-Chooser Problem (2 X Mausklick öffnen) AWT, Swing, JavaFX & SWT 11
G JTree und Mausklick? AWT, Swing, JavaFX & SWT 2
R doppelte Ausführung bei einfachem Mausklick! AWT, Swing, JavaFX & SWT 12
G Mausklick event? BITTE HELFT MIR! :( AWT, Swing, JavaFX & SWT 8
B Thumbnail-Position per Mausklick ändern AWT, Swing, JavaFX & SWT 3
S Graph zeichnen bei Mausklick AWT, Swing, JavaFX & SWT 4
G JTree soll nur auf Mausklick reagieren AWT, Swing, JavaFX & SWT 10
F Mausklick AWT, Swing, JavaFX & SWT 2
M Mausklick in nicht angezeigtes JTextField simulieren AWT, Swing, JavaFX & SWT 4
C [JTable] Mausklick. AWT, Swing, JavaFX & SWT 5
M JTree Elemete zeigen nach 2. Mausklick Object an. Warum? AWT, Swing, JavaFX & SWT 2
T JTextPane, Mausklick, aktives Wort AWT, Swing, JavaFX & SWT 2
S Mausklick reagiert nicht im JMenuBar AWT, Swing, JavaFX & SWT 4
S mausklick AWT, Swing, JavaFX & SWT 9
M Mausklick verzögern AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben