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