现在,我正在尝试使用JavaFX编写一个简单的算盘。在网格窗格中的水平导轨上有多个球,我正在使用translateTransition将它们单击时移到右侧。以下是我现在拥有的代码,该代码在网格中的任何球上都可以正常工作,只不过它可以向右移动动画效果。第二次单击时,球在没有动画的情况下跳回到左侧的原始位置,我不知道为什么它没有动画。任何帮助或想法将不胜感激!
private void onClick(final Circle circle) {
circle.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent mouseEvent) {
//set movement direction, check if circle has been moved
int targetX = 200;
if (circle.getTranslateX() > 1) {
targetX = 0;
}
//animation trigger and details
TranslateTransition push = new TranslateTransition(Duration.millis(500));
push.setNode(circle);
push.setFromX(circle.getCenterX());
push.setToX(targetX);
push.play();
}
});
}