基本上,我正在尝试使用javafx relocate方法移动形状。 (形状是由用户绘制的随机折线并重新显示)。重定位方法不会更新形状的x和y坐标。 Oracle文档声明重定位“设置节点的layoutX和layoutY转换属性,以便将此节点重定位到父节点中的x,y位置。此方法不会更改translateX或translateY,如果也设置将添加到layoutX和layoutY,按相应金额调整最终位置。“
我的问题是如何从我拥有的信息中获取新的x和y坐标。
答案 0 :(得分:2)
您可以以明显的方式获取layoutX
和layoutY
属性:
double x = polyLine.getLayoutX();
double y = polyLine.getLayoutY();
通过用这些值翻译所有点来渲染线条;即,父坐标系中各点的x坐标将是您从polyLine.getPoints()
加上layoutX
值检索的x坐标,y类似。 (我假设这里没有其他变换应用于该线......)。
根据您的应用程序,可能更容易通过更改其点列表来移动该行,而不是使用relocate(...)
。