Swing Click-Handler mit Threshold?

Alan47

Mitglied
Hallo zusammen,

ich habe hier eine Klasse, die von JPanel erbt und einiges an Funktionalität über Mausaktionen (Drag und click) für den Benutzer zur Verfügung stellt.
Jetzt fällt mir beim Testen eine Sache immer wieder negativ auf: Swing ist *extrem* empfindlich, wenn es um den Unterschied zwischen "Click" und "Drag" geht. Wenn ich auf die linke Maustaste klicke, und dabei die Maus in der kurzen Zeit zwischen "Taste drücken" und "Taste loslassen" nur *minimal* bewege (und sei es nur 1 Pixel am Bildschirm), dann ist es für Swing schon keine "Click"-Action mehr sondern ein (kurzes) Drag-Movement. Dadurch wird der Click-Handler gar nicht erst ausgelöst, sondern nur der Drag-Handler.
Meine Frage: kann man irgendwo festlegen (zum Beispiel über einen numerischen Schwellenwert) ab wie vielen Pixeln Mausbewegung während eines Clicks es als "drag" gewertet wird? Ich möchte, dass zum Beispiel wenn man eine Maustaste drückt, die Maus dabei um 1 oder 2 Pixel verschiebt und dann die Maustaste wieder loslässt, trotzdem die Click-Aktion und nicht die Drag-Aktion ausgelöst wird. Ich hoffe, es ist klar geworden, was ich meine - ich hatte schon Probleme, in Ermangelung eines Schlagwortes danach auf Google oder hier im Forum zu suchen, eventuell gibt es einen Fachbegriff hierfür, den ich noch nicht kenne...


Gruß,


Alan
 

KrokoDiehl

Top Contributor
Hallo.
Also mir ist nichts dergleichen bekannt und ich kann mir auch nicht vorstellen, dass es irgendwo so eine Einstellung gibt.
Das bedeutet dass du diese Entscheidung selbst treffen muss. Immerhin gibt es
Code:
mousePressed()
und
Code:
mouseReleased()
, bei beiden bekommst du Pixel-Koordinaten und kannst dir deinen Schwellenwert selbst bestimmen.
 

Alan47

Mitglied
Hallo.
Also mir ist nichts dergleichen bekannt und ich kann mir auch nicht vorstellen, dass es irgendwo so eine Einstellung gibt.
Das bedeutet dass du diese Entscheidung selbst treffen muss. Immerhin gibt es
Code:
mousePressed()
und
Code:
mouseReleased()
, bei beiden bekommst du Pixel-Koordinaten und kannst dir deinen Schwellenwert selbst bestimmen.


Hi,

ja das wäre meine "Notlösung" gewesen. Allerdings hatte ich gehofft, dass Swing hier etwas eingebautes bietet. Wenn dem nicht so ist, werde ich es wohl über die von dir genannten Methoden versuchen müssen. Dankeschön für die Klarstellung ;)

Gruß


Alan
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JavaFX Menu soll nicht bei jedem Click verschwinden AWT, Swing, JavaFX & SWT 8
D JInternalFrame wechselt Position beim ersten Click AWT, Swing, JavaFX & SWT 0
dereki2000 Welcher Methodenaufruf bei Hover, click,... AWT, Swing, JavaFX & SWT 5
J CheckBoxListCell auf click event in listView reagieren AWT, Swing, JavaFX & SWT 1
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
K ListView right click AWT, Swing, JavaFX & SWT 1
Z Swing Button Click AWT, Swing, JavaFX & SWT 1
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
N Speed Click Robot? AWT, Swing, JavaFX & SWT 7
B Etwas was nach jedem GUI 'click' ausgeführt wird AWT, Swing, JavaFX & SWT 6
achillesat SWT Browser öffnen durch Button click AWT, Swing, JavaFX & SWT 5
S Swing JTabbedPane: Nur nach ButtonClick und nicht nach Click auf Tab ins nächste Tab wechseln AWT, Swing, JavaFX & SWT 2
C click auf JButton und darunter liegendes element AWT, Swing, JavaFX & SWT 5
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
J Swing neuer Aufbau des Frames nach Click AWT, Swing, JavaFX & SWT 8
T Jbutton Click farbe ändern AWT, Swing, JavaFX & SWT 4
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
V Eclipse View Right-Click Menu hinzufügen AWT, Swing, JavaFX & SWT 2
N Button on click eine andere Klasse aufrufen... AWT, Swing, JavaFX & SWT 2
Shanks Hintergrundfarbe durch Button click ändern ?? AWT, Swing, JavaFX & SWT 6
Developer_X Swing Click Listener AWT, Swing, JavaFX & SWT 13
ABstraCT JTabbedPane - click wird nicht immer ausgeführt ! AWT, Swing, JavaFX & SWT 10
K JTable und auf den Tabellenkopf-Click-Event abfangen AWT, Swing, JavaFX & SWT 2
C JPanel erst nach Button click anzeigen. AWT, Swing, JavaFX & SWT 11
R JTable: Maus-Click ohne Datensätze AWT, Swing, JavaFX & SWT 9
V Click auf JTable (Zeile) liefert den Eintrag? AWT, Swing, JavaFX & SWT 11
G Double-Click f. alle Komps UNIX u. WIN verschieden ? AWT, Swing, JavaFX & SWT 5
G JTable sortieren durch click im Header AWT, Swing, JavaFX & SWT 9
W SWT - Tree: Problem mit Double-Click expand AWT, Swing, JavaFX & SWT 5
J Aktion bei Click auf Blatt auslösen AWT, Swing, JavaFX & SWT 6
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
U JavaFX Error: Handler Method not found AWT, Swing, JavaFX & SWT 3
S Action Handler JButton AWT, Swing, JavaFX & SWT 15

Ähnliche Java Themen

Neue Themen


Oben