2016-03-22 13 views
-1

Wie kann ich getcode() in handle Methode verwenden?Wie verwendet man getCode() in EventHandler

Ich möchte verstehen, welche Taste gedrückt wird.

Hinweis: Ich möchte Methode nicht ändern "Ereignis" auf "KeyEvent" in Griff

public class Main extends Application implements EventHandler { 
    public static void main(String[] args) { 
    launch(args); 
    } 

    Scene scene; 
    Group root = new Group(); 

    @Override 
    public void start(Stage stage) { 
    scene = new Scene(root, 600, 800); 
    scene.setOnKeyPressed(this); 
    stage.setScene(scene); 
    stage.show(); 
    } 

    @Override 
    public void handle(Event event) { 
    if (event.getEventType().equals(KeyEvent.KEY_PRESSED)) { 
     System.out.println("You Pressing : " /* required code here */); 
    } 
    } 

} 
+0

Casting, oder? – bcsb1001

Antwort

1

Die einzige Wahl ist ein gegossenes

System.out.println("You Pressing : " + ((KeyEvent) event).getCode()); 

getCode ist ein Verfahren auf KeyEvent Sie müssen nur auf eine Referenz dieses statischen Typs zugreifen. Sie können dafür keine Event Referenz verwenden. Wenn Sie wirklich wollten, könnten Sie die Reflexion verwenden, aber das wäre viel chaotischer und hackischer als der Niedergeschlagene.

+0

Vielen Dank –