JavaFx节点重定位

时间:2015-04-28 04:23:25

标签: javafx translate bounds boundary

我有这段代码在经过某个边界后重新定位球。问题是它只做了一次。它应该每次都这样做。我做错了什么?

if (circle.getBoundsInParent().getMaxY() > bg.getBoundsInParent().getMaxY()) {
    circle.relocate(100, 100);
}

我这样移动球:

    circle.setTranslateX(circle.getTranslateX() + deltaX);
    circle.setTranslateY(circle.getTranslateY() + deltaY);

1 个答案:

答案 0 :(得分:1)

阅读relocate方法的文档:

  

为了设置节点的layoutX和layoutY转换属性   将此节点重定位到父节点中的x,y位置。

     

此方法不会更改translateX或translateY,如果也设置了   将添加到layoutX和layoutY,调整最终位置   相应的数额。

由于您没有提供太多工作,我的猜测是您不应该使用重定位,而是使用setTranslateX和setTranslateY。