In meinem Programm habe ich KeyListener auf meiner Leinwand festgelegt. Es funktioniert großartig, aber wenn ich Thread.sleep (1000) tue, hört keyListener immer noch zu, Tasten zu lesen und zu lesen, aber das Ergebnis wird nur angezeigt, wenn die Schlafzeit abgelaufen ist. Wie kann der keyListener Schlüssel in der Schlafperiode nicht lesen oder hören?Deaktivieren Keylistener in Java
Antwort
Tun Sie nicht Thread.sleep()
mit Swing. Aus der Frage, ich ziehe ab, dass du alles bei EDT (Event Dispatch Thread) machst. Wenn Sie also EDT in den Ruhezustand versetzen, wird Swing nicht deaktiviert, sondern nur für eine Sekunde angehalten.
Sie können einen Timer für eine Sekunde einrichten, und wenn Sie keine Schlüsselereignisse mehr empfangen möchten, deaktivieren Sie einfach die Komponente durch setEnabled(false)
, dann starten Sie den Timer, und wenn er abgelaufen ist, rufen Sie setEnabled(true)
.
Ich habe bereits versucht, setEnabled (false) im Canvas vor und setEnabled (true) nach, aber keylistener liest noch Schlüssel. –
Deaktiviert ein Komponentenblock Mausereignisse? Ich weiß, dass es einen 'ActionListener' vom Feuern blockiert, erwarte, dass es keinen Effekt auf einen' MouseMotionListener' hätte (der Listener würde immer noch Ereignisse auslösen), bin mir aber über 'MouseListener' nicht sicher. –
@YanIvanEvdokimov Haben Sie einige benutzerdefinierte KeyListener dort? Soweit ich weiß, hat Canvas selbst keine KeyListener. Kannst du nicht einfach deinen KeyListener aktualisieren, um Dinge für eine Sekunde zu ignorieren? –
- 1. Java: KeyListener
- 2. Java KeyListener stottert
- 3. Java - KeyListener Mehrere Keys
- 4. Java KeyListener antwortet nicht
- 5. Java JTextArea KeyListener
- 6. Java Keylistener ohne geöffnetes Fenster?
- 7. Java - KeyListener Ereignisse nicht feuern
- 8. Java - KeyListener funktioniert nicht/Mausposition nicht gelesen
- 9. Keylistener in Javascript
- 10. Problem mit Keylistener
- 11. Problem mit KeyListener funktioniert nicht
- 12. Mein KeyListener funktioniert nicht - warum?
- 13. Log4J-Ausgabe in Java deaktivieren
- 14. Wie javax.swing.JButton in Java deaktivieren?
- 15. Eingabe von KeyListener wird nicht erkannt
- 16. Keylistener funktioniert nicht beim aktiven Rendern
- 17. Java-Sicherheitsmechanismus vollständig deaktivieren?
- 18. Java Filehandler deaktivieren Logfolge
- 19. Swing's KeyListener und mehrere Tasten gleichzeitig gedrückt
- 20. Wie überprüft man, ob die gedrückte Taste eine Pfeiltaste in Java KeyListener war?
- 21. System.out für Geschwindigkeit in Java deaktivieren
- 22. Deaktivieren von Mutabilität in einer Java-Liste
- 23. Deaktivieren von TLSv1.2 in Java 8
- 24. Java Graphics deaktivieren XOR-Modus
- 25. stopPropagation funktioniert nicht für KeyListener in YUI 2.7
- 26. So erkennen Sie 3 Tastendrücke in SWT KeyListener
- 27. Wie setze ich keyListener für editiertext in Android?
- 28. AppEngine (Java) -Sitzungen für bestimmte Anfragen deaktivieren
- 29. So deaktivieren Sie den Java-Erweiterungsmechanismus
- 30. syntastic - Automatische Kompilierung von Java deaktivieren
Mit "Leinwand" meinst du eine 'java.awt.Canvas'? Bitte seien Sie spezifisch und verwenden Sie den korrekten Fall für J2SE-Klassennamen. Auch, um besser zu helfen, eher ein [SSCCE] (http://sscce.org/). –