为什么我不打印"离开"当按下左箭头?

时间:2016-06-08 10:37:29

标签: javafx

public void start(Stage stage) throws Exception {

        StackPane root = new StackPane();

        Scene scene = new Scene(root, 400, 400);

        EventHandler eventHandler = new EventHandler<KeyEvent>() {
            @Override
            public void handle(KeyEvent event) {
                System.out.println("handle");
                if(event.getCode().equals(KeyCode.LEFT)) {
                    System.out.println("left");
                }
            }


        };

        Circle circle = new Circle(200,200,100);
        circle.setFill(Color.AQUAMARINE);
        circle.setOnKeyPressed(eventHandler);

        root.getChildren().add(circle);


        stage.setTitle("JavaFX GUI");
        stage.setScene(scene);
        stage.show();
    }

为什么我不打印&#34;离开&#34;当按下左箭头?我不明白......这是一个JavaFX应用程序...... 当我在键盘上输入左箭头时,我希望这样,这个原则&#34;离开&#34;

1 个答案:

答案 0 :(得分:1)

您将收听者添加到未获得焦点的Node。将其添加到Scene代替:

scene.setOnKeyPressed(eventHandler);

或将Circle的{​​{3}}设置为true

circle.setFocusTraversable(true);