ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
280
280
EMPFEHLEN
-
Hallo Zusammen,
Ich habe folgendes Problem: Bei meinem Java GUI (SWT) können auf dem Mac OS X 10.5 keine KeyEvents generiert werden wenn die Maustaste gedrückt wird. Dies gilt aber nur für die Zeichentasten (a, b, c, usw.), die Funktionstasten (Ctrl, Shift, usw.) werden davon nicht tangiert.
Auf dem Windows (XP und Vista) funktioniert das tiptop.
Weiss jemand woran das liegen könnte?
Freundliche Grüsse
CKingZesiEine Frage braucht keinen Anlass, die Frage ist der Anlass selbst...
-
Fängst du MouseEvents auch ab oder nur KeyEvents?
Und wie sieht dein Code aus? Hast du mal in der Bug-Database von SWT geschaut ob dies in bekanntes Problem ist?
-
Hallo,
Also zuerst hatte ich beides abgefangen. Um den Fehler eingrenzen zu können habe ich danach die Verarbeitung der MouseEvents entfernt. Zurzeit werden also nur KeyEvents abgefangen.
In der Bug-DB habe ich noch nicht nachgesehen, werde ich aber noch nachholen.
Hier noch ein wenig Code(Beispiel) dazu:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class InteractionTest { public InteractionTest(Shell shell) { shell.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { if(e.keyCode == 114) System.out.println("r down"); } public void keyReleased(KeyEvent e) { if(e.keyCode == 114) System.out.println("r up"); } }); } public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); new InteractionTest(shell); shell.open(); while(!shell.isDisposed()) if(!display.readAndDispatch()); display.sleep(); display.dispose(); } }
Schon dieser Code genügt um den Fehler hervorzurufen. Wenn die Maustaste gedrückt und gehalten wird, werden die beiden KeyEvents der r-Taste (KeyCode 114) nicht generiert, resp. nicht abgefangen.
Freundliche Grüsse
CKingZesiEine Frage braucht keinen Anlass, die Frage ist der Anlass selbst...
-
Hallo nochmal,
Also die Sache hat sich erledigt. Der Fehler wurde in der Bug-DB bereits eingeschrieben und ist bekannt. Er wird aber voraussichtlich nicht behoben werden, da man eigentlich nicht von einem Fehler sprechen kann.
Hier noch der Link:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=207298
Freundliche Grüsse
CKingZesiEine Frage braucht keinen Anlass, die Frage ist der Anlass selbst...
-
Okay. Hätte auch nen Focus Problem sein können oder so. Dann hätte vielleicht sowas geholfen:
Code java:1 2 3 4 5 6
display.addFilter(SWT.KeyDown, new Listener( ) { public void handleEvent(Event event) { } });
-
Hallo,
Ja wäre möglich gewesen, obwohl dann hätte es ohne gedrückte Maustaste auch nicht funktioniert. Wenn die Maustaste aber nicht gehalten wurde hat es ganz normal funktioniert.
Danke für den Tipp und auch für den Hinweis mit der Bug-DB. Werde das nächste Mal zuerst dort schauen.
Freundliche Grüsse
CKingZesiEine Frage braucht keinen Anlass, die Frage ist der Anlass selbst...
Ähnliche Themen
-
Keine mittlere Maustaste (Pan,Zoom,Rotate) wegen Logitech Setpoint
Von Brüggz im Forum 3D Studio MaxAntworten: 3Letzter Beitrag: 04.05.10, 16:04 -
Cursor mit gedrückter linker Maustaste in x-Richtung verschieben
Von Cappaja im Forum VisualStudio & MFCAntworten: 4Letzter Beitrag: 10.07.09, 13:44 -
Scrollen bei gedrückter Rechter Maustaste
Von Radhad im Forum .NET Windows FormsAntworten: 10Letzter Beitrag: 13.03.07, 10:36 -
Mauszeiger mit gedrückter Maustaste bewegen - simulieren
Von ::emanuel:: im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 21.02.07, 10:02 -
KeyEvents keine Wirkung!
Von Bullitt im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 5Letzter Beitrag: 10.05.04, 11:19





Zitieren

Login





