提问者:小点点

不确定在哪里应用KeyListener


我是JavaFX的新手,我已经做了相当多的研究,但我还没有找到将我的侦听器添加到哪里。

我已经创建了一个GridPane 10x10,网格的每个插槽都是一个包含图像的ImageView。这些图像代表了我的板元素,如墙壁、盒子、演员等。当用户使用箭头键时,演员应该在整个板上移动(我有很多控制方法来确保移动是有效的)。

我目前的运动代码是:

grid.setOnKeyPressed((KeyEvent event) -> {
       if(event.getCode().equals(KeyCode.LEFT)){
           if (dc.afhandelingKeyEvents("Links")){
               grid.getChildren().remove(arrayViews[ventjeX][ventjeY]);
               ImageView imv = new ImageView();
               imv.setImage(mannetje);
               grid.add(imv, ventjeX -1, ventjeY);
           }

右边、顶部和底部都是类似的。问题是,它什么也没做。我不确定我在这里做错了什么。事先谢谢。


共1个答案

匿名用户

节点上的. setOnKeyP人()将在选择该节点时触发。您真正想要的是捕获任何按键。您可以通过在Scene对象上调用.setOnKeyP人()来做到这一点。