Den KeyListener in einer JavaFXML Application benutzen

Blacknico

Mitglied
Liebe Java-Forum Community

Ich habe bereits einige Foren durchgestöbert, mich in YouTube, Google und hier versucht schlau zu machen, jedoch vergebens.
Die Beiträge die ich für den KeyListener gefunden habe sind alle für Java Swing und nicht für eine FXML Application gedacht.
Ich habe die Beispiele die mir vorgeschlagen durchprobiert, aber leider hat keines dieser so funktioniert wie ich es mir erhofft hatte.

So nun zu meinem genauen Problem:

Ich bin dabei ein Art Jump'n'Run zu entwickeln. Beim auswählen der Pfeiltasten(Hoch, Runter) soll sich die Figur beim drücken nach oben bewegen. Dazu habe ich wie vorgeschrieben, die "keyPressed(KeyEvent e"- Methode benutzt. In diesem Beispiel möchte ich nur das gedrückte in der Konsole ausgeben um zu testen ob er die Methode überhaupt ausführt.

KeyHandler Klasse:
Java:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyHandler implements KeyListener {
    
    @Override
    public void keyPressed(KeyEvent e) {
        if ( e.getKeyCode() == KeyEvent.VK_DOWN ){
            System.out.println("Unten");
        }
        if ( e.getKeyCode() == KeyEvent.VK_UP ){
            System.out.println("Oben");
        }
        if ( e.getKeyCode() == KeyEvent.VK_LEFT ){
            System.out.println("Links");
        }
        if ( e.getKeyCode() == KeyEvent.VK_RIGHT ){
            System.out.println("Rechts");
        }
        System.err.println("Ich bin drin aber es wurde nichts gedrückt");
    }
}

Da man in einer FXML Application immer einen Controller des jeweiligen FXMLs besitzt, muss ich das jetzt irgendwie mit dem Controller verbinden.
Jedoch weiss ich leider nicht genau wie ich das anstellen soll. Das Einzige was in dem Controller ausgeführt wird ist die "initialize"-Methode:
Java:
@Override
    public void initialize(URL url, ResourceBundle rb) {
        
        background2.setX(1700);
        background.setX(0);
    
        MoveBackground();
          
    }

Das MoveBackground verschiebt nur den Hintergrund.
Ich weiss das ich es mit "addKeyListener(KeyEvent keyEvent)" dem Fenster übergeben kann, nur will er dann eine Methode generieren, die eine Unsupported Operation Exeption haben möchte.

Wie kann ich nun den KeyListener in meiner Application aufrufen, ohne das er mir eine "NullPointerException" oder eine Methode mit der "Unsupported Operation Exeption"
 
Zuletzt bearbeitet:

dzim

Top Contributor
Ich weiss jetzt noch nicht genau, ob ich es korrekt verstehe, aber wenn ich in meinem FXML einen Controller mit fx:controller="my.package.MyController" angegeben habe, dann kann ich dort ja einen Event Handler für Key-Events deklarieren (also onKeyReleased="#onKeyReleased", #onKeyReleased, #onKeyTyped), indem ich z.B. onKeyReleased="#myOnKeyReleasedHandler" einfüge (die Methode #myOnKeyReleasedHandler(KeyEvent) wäre dann im Controller für die Verarbeitung aller Events in dem Fokus verantwortlich). Im Controller hättest du dann so eine Methode hier:
Java:
@FXML 
public void myOnKeyReleasedHandler(KeyEvent event) {
    // TODO implement behaviour
    // use event.consume(); if you want to prevent the event bubbling into the parent UI container
}

#edit:
War es das, was du meintest?
 
Zuletzt bearbeitet:

Blacknico

Mitglied
Nicht ganz
Aber trotzdem Danke :D ich habe eine Möglichkeit gefunden wie es noch geht.

Das hier habe ich jetzt in die "Main" geschrieben

Java:
scene.setOnKeyPressed(new EventHandler<javafx.scene.input.KeyEvent>() {

            @Override
            public void handle(javafx.scene.input.KeyEvent t) {
                switch(t.getCode()){
                    case W: InGameController.ChangeLaneUp();                  
                    break;
                    case S: InGameController.ChangeLaneDown();
                    break;
                }
            }
        });
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B KeyListener Bug Spiele- und Multimedia-Programmierung 2
M KeyListener funktioniert nicht während Timer läuft Spiele- und Multimedia-Programmierung 26
A TileMap KeyListener - Problem Spiele- und Multimedia-Programmierung 2
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
M KeyListener Spiele- und Multimedia-Programmierung 8
T Problem mit JnR-Steuerung / KeyListener Spiele- und Multimedia-Programmierung 6
A KeyListener - Thread Problem Spiele- und Multimedia-Programmierung 2
F Problem mit KeyListener in Applet Spiele- und Multimedia-Programmierung 4
StrikeTom KeyListener Funktioniert nicht Spiele- und Multimedia-Programmierung 3
D Space Invaders(KeyListener Problem) Spiele- und Multimedia-Programmierung 3
S Ping Pong: KeyListener in Paint und while Spiele- und Multimedia-Programmierung 10
Developer_X Java "Multi"KeyListener Spiele- und Multimedia-Programmierung 15
C Anfängerfrage: Plazierung Panel im JFrame und KeyLIstener Spiele- und Multimedia-Programmierung 4
A Mit KeyListener zwei Tasten gleichzeitig abfragen Spiele- und Multimedia-Programmierung 2
T Doppel KeyListener Spiele- und Multimedia-Programmierung 16
S Probleme mit dem Licht und dem KeyListener Spiele- und Multimedia-Programmierung 2
K Jump n Run Keylistener und Schleifen Spiele- und Multimedia-Programmierung 8
M Jpanel mit Keylistener Spiele- und Multimedia-Programmierung 6
D Pfeiltasten beim KeyListener Spiele- und Multimedia-Programmierung 1
R KeyListener hält nicht mit Spiele- und Multimedia-Programmierung 14
YangLee Ausgabe von einer Bewegung bei mehrzeiligen Strings Spiele- und Multimedia-Programmierung 1
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
M Audio Track einer Musik CD abspielen mittels vlcj-Bibliothek Spiele- und Multimedia-Programmierung 0
Meeresgott LWJGL 3 Problem mit einer Texture Spiele- und Multimedia-Programmierung 4
D Programmierung einer Tor-Anzeige Spiele- und Multimedia-Programmierung 8
C Optimale Wegberechnung einer KI Spiele- und Multimedia-Programmierung 6
T Pong Hilfe bei einer Website Spiele- und Multimedia-Programmierung 4
R Einfärben von Gemeinden auf einer Karte Spiele- und Multimedia-Programmierung 14
S ECS: "deep copy" einer Entity-Vorlage Spiele- und Multimedia-Programmierung 9
R Aufruf einer render-Methode Spiele- und Multimedia-Programmierung 12
E A-Stern Algorithmus Problem und Implementierung einer Map Spiele- und Multimedia-Programmierung 6
J Frage zum Einlesen einer .wav in ein byte Array Spiele- und Multimedia-Programmierung 3
J Spielfiguren laufen lassen auf einer html Tabelle mit Hilfe von Servlets Spiele- und Multimedia-Programmierung 2
T Alle Referenzen zu einer Klasse aus Java Bytecode ersetzt, JVM sucht trotzdem diese Klasse Spiele- und Multimedia-Programmierung 1
M Kamera "am Rande einer Kugel bewegen" Spiele- und Multimedia-Programmierung 4
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
F Das sag mir einer Java ist plattform unabhänig ! Spiele- und Multimedia-Programmierung 10
M Scrolling einer 2D Map Spiele- und Multimedia-Programmierung 8
J In einer While-Schleife auf Event warten Spiele- und Multimedia-Programmierung 3
TheSorm Collision an einer bestimmten Seite eine Rectangles abfragen Spiele- und Multimedia-Programmierung 3
windl Frage zu Airplay und zur Mitarbeit bei einer Mediaanlage Spiele- und Multimedia-Programmierung 0
A Aufbau einer JOGL Anwendung Spiele- und Multimedia-Programmierung 12
L Werte aus einer .yml Datei lesen Spiele- und Multimedia-Programmierung 9
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
F Download und Update einer Java-Anwendung Spiele- und Multimedia-Programmierung 10
D Problem beim bewegen einer Figur Spiele- und Multimedia-Programmierung 2
B Video von einer IP kamera Spiele- und Multimedia-Programmierung 5
W Java3D: Eckkoordinaten einer Box herausfinden Spiele- und Multimedia-Programmierung 18
W Rotation aller Objekte einer 3D-Szene Spiele- und Multimedia-Programmierung 8
2 Ein Zufallsweg bzw. Weg in einer 2dim Matrix finden. Spiele- und Multimedia-Programmierung 21
aze Schnittmenge zwischen Linie und einer Area wegschneiden Spiele- und Multimedia-Programmierung 3
A Bild einer Webcam auffangen Spiele- und Multimedia-Programmierung 20
G Ballerkennung aus einer Bilddatei Spiele- und Multimedia-Programmierung 24
B Generierung einer Wertetabelle aus einem Bild Spiele- und Multimedia-Programmierung 3
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
M Realisierung einer Sichtweise in Java2D Spiele- und Multimedia-Programmierung 3
B String zu Objekt einer eigenen Klasse casten Spiele- und Multimedia-Programmierung 13
H Screenshot einer Graphics2D Anwendung erstellen Spiele- und Multimedia-Programmierung 6
F Simulation einer Magnetischen Flasche Spiele- und Multimedia-Programmierung 17
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
J Fehlverhalten einer Spielfigur Spiele- und Multimedia-Programmierung 7
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
M Das Frequenzspektrum einer WAV/MP3-Datei anzeigen Spiele- und Multimedia-Programmierung 6
M Rechteck erkennung innerhalb einer Matix Spiele- und Multimedia-Programmierung 4
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
E Pinball Abprall an einer schrägen Bande Spiele- und Multimedia-Programmierung 19
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
E Hilfe bei einer GUI Programmierung mit Graph Spiele- und Multimedia-Programmierung 30
A Tutorial für die Entwicklung einer Fussball-KI gesucht Spiele- und Multimedia-Programmierung 7
S Rotation relativ zur Rotation einer anderen Transform Group Spiele- und Multimedia-Programmierung 3
A Screenshots von einer Scene erstellen Spiele- und Multimedia-Programmierung 5
G Land aus einer Weltkarte selektieren Spiele- und Multimedia-Programmierung 10
D Kräftesimulation auf einer 2D-Oberfläche Spiele- und Multimedia-Programmierung 5
T Geschwindigkeit einer Animation aendern Spiele- und Multimedia-Programmierung 6
G Ermitteln eines Punktes in einer anderen TransformGroup Spiele- und Multimedia-Programmierung 2
N Background in Java3D ähnlich einer Skybox erzeugen Spiele- und Multimedia-Programmierung 5
H zB Punkte darstellen und mit einer Linier verbinden Spiele- und Multimedia-Programmierung 5
F Darstellung einer tierischen Zelle Spiele- und Multimedia-Programmierung 3
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
F Das SPiel ruckelt nach einer Zeit Spiele- und Multimedia-Programmierung 19
D wieder einer von anfang an. Spiele- und Multimedia-Programmierung 4
M Darstellung einer schwingenden Membran? Spiele- und Multimedia-Programmierung 23
raptorrs Teile einer CAD-Assembly Gruppe in JAVA animieren? Spiele- und Multimedia-Programmierung 3
K Beschriftung von Punkten in einer "Punktwolke" Spiele- und Multimedia-Programmierung 2
S Zur Laufzeit auf die Methode einer anderen Klasse zugreifen Spiele- und Multimedia-Programmierung 5
K Klick in der nähe einer Strecke Spiele- und Multimedia-Programmierung 14

Ähnliche Java Themen

Neue Themen


Oben