Java Core
Tastatur-Fokus nach Fenstererstellung erzwingen
Ein häufiger Fehler bei Desktop-Anwendungen in Java ist, dass nach dem Öffnen des Fensters Tastatureingaben ignoriert werden, weil kein Element explizit den Fokus besitzt. Lösung: Nachdem das Fenster sichtbar geschaltet wurde (frame.setVisible(true)), muss explizit panel.requestFocusInWindow() aufgerufen werden. Dies garantiert, dass die Key-Events sofort ab dem ersten Frame beim Panel ankommen.
Referenz:
Datei
1. Spielprojekt
· Klasse GameWindow.GamePanel
frame.setVisible(true); // Zwingend erforderlich, damit Tastatureingaben sofort erkannt werden gamePanel.requestFocusInWindow(); // Erst danach den Loop starten GameLoop gameLoop = new GameLoop(gamePanel); gameLoop.start();