Touchscreen muss zwei mal gedrückt werden, bis die Software reagiert

Guten Tag

Wir haben letzte Woche erfolgreich eine alte Visualisierung auf OpenJDK 16 und Windows 10 hochgerüstet.

Nun Haben wir das Problem, dass auf der Visualisierung zwei mal gedrückt (Touch) werden muss, bis die Software reagiert. Kennt ihr dieses Verhalten? Ist das eine Windows Einstellung die geändert werden muss?

Ich verwende den MyMouslistener und da ob gedrückt worden ist:

public void mousePressed(MouseEvent e)

Vielen Dank schonmal für eure Hilfen

Sieht so aus, als hätte die Komponente nicht den Focus, sondern erst, nach dem Du das erste mal draufgeklickt hast. Benutzt Du ein CardLayout? Könnte auch ein Problem mit dem verwendeten LAF sein. Stelle mal sicher, dass Du ein Metal-LAF bzw. das Ocean-Theme nutzt. Vielleicht hilft es auch, meine Theorie mit einem FocusListener zu prüfen.

Moin,

geh mal eher von Windows 10 als Ursache aus. Ich habe gleiche Problem mit meiner Software, zwar C# aber auch TouchPanel. Sofern das TouchPanel OOB mit Windows läuft, wird das Verhalten von Windows-Treiber vorgegeben.

Bei mir brauche ich die Events für „Button gedrückt“ und „Button losgelassen“. Mit Windows 10 und den Touch-Traiber funktionierte es nicht mehr. Die Umgehung war, das ich die Position des Mauszeigers (Maus ist unsichtbar) immer beim loslasen wieder auf 0/0 gesetzt habe. Dadurch konnte ich statt „Button gedrückt“ das „Mouse Enter“ verwenden.

Mit späteren Versionen funktionierte das aber auch nicht mehr. Ich habe auch nie gefunden, wo ich Windows dazu überreden konnte das alte Verhalten wieder herzustellen.

Es gibt aber Unterschiede zwischen den TouchPanel. Es gibt TouchPanel wo man beim installieren der Treiber das Verhalten auswählen kann (war glaube ich ein eGalax-Treiber).

hand, mogel

Hallo zusammen

Vielen Dank für eure Rückmeldungen. Ich war am Mittwoch vor Ort und habe den Fehler analysiert.

Das Problem war, dass wir von 32Bit auf 64Bit gehen mussten (Logischerweise) und es ein viel schnellerer PC war. Deshalb kam das Bit gar nie mehr am Roboter an, es wurde so kurz gedrückt. Ich habe jetzt den Event vom MouseRelease in einem separaten Thread nach 600ms selber gemacht. Jetzt funktioniert alles wie gewohnt.