如何使用JavaFx中的箭头键更改Line的起点和终点?

时间:2016-03-01 22:35:54

标签: java javafx javafx-8

我正在尝试使用JavaFx在Java中创建一个简单的程序,使用箭头键设置线对象的起点和终点。基本上,这个想法是按下箭头键来制作像小吃一样的线条。我使用了setOnPressedKey事件,但它不起作用,但当我删除事件并运行程序时,setStartXsetStartY等工作。

Line line = new Line();
line.setStroke(Color.BLACK);

line.setOnKeyPressed(e -> {
    if (e.getCode() == KeyCode.UP) {
        line.setStartX(line.getEndX() + 0);
        line.setStartY(line.getEndY() + 15);
    }
});
layout.getChildren().add(line);

1 个答案:

答案 0 :(得分:1)

您在未请求焦点的组件上添加事件。

设置事件并关注根组件。

Line line = new Line();
line.setStroke(Color.BLACK);

layout.setOnKeyPressed(e -> {
    if (e.getCode() == KeyCode.UP) {
        line.setStartX(line.getEndX() + 0);
        line.setStartY(line.getEndY() + 15);
    }
});
layout.getChildren().add(line);
layout.requestFocus();