删除子节点的JavaFx会丢失功能,但会保持不变

时间:2016-09-30 14:02:08

标签: java javafx shape

我有一个扩展CubicCurve的自定义组件。它是AnchorPane的第三个孩子;

Scene
    AnchorPane
        BorderPane
            Circle
               CubicCurve

当我调用anchorpane.getChildren().remove(cubic_curve)时,它失去了它的功能(起点和终点绑定到一个可移动节点 - 这些节点不再绑定),但是我仍然可以看到它。

是否有正确的方法来删除'形状?我发现的所有东西都指向我去除了孩子,但这并不适合我。

提前致谢。

1 个答案:

答案 0 :(得分:1)

固定!

我在getChildren().remove(cubic_curve)处理程序中调用.setOnMouseDragReleased()。当我把它放在一个.setOnMouseReleased()处理程序中时,它运行得很好。

我试图通过拖放将两个节点连接成三次曲线。 onDragRelease处理程序将被丢弃的节点调用 - 它引用的曲线不正确。通过将其移动到onMouseReleased,处理程序引用第一个节点,然后引用正确的曲线。

希望有意义!