2016-09-30 10 views
0

CubicCurveを拡張するカスタムコンポーネントがあります。 AnchorPaneの3番目の子です。JavaFxの子ノードを削除すると機能は失われますが、そのまま残ります

Scene 
    AnchorPane 
     BorderPane 
      Circle 
       CubicCurve 

私はそれが(始点と終点が移動可能なノードにバインドされている - これらはもはや拘束されていない)、その機能を失うanchorpane.getChildren().remove(cubic_curve)呼んで、しかし私はまだそれを見ることができます。

形状を削除するには適切な方法はありますか?私が見つけたものは、子供を取り除くことを指摘しているだけですが、これは私のためには機能しません。

ありがとうございます。

+1

これはうまくいくはずです。そうでなければ、おそらくどこか別の何かが間違っているでしょう。質問を含めるには[MCVE]と[編集]を作成します。 –

+1

CubicCurveはCircleの子ですか?図形は子供を持つことはできません。私はそれが境界ペインの子だと仮定してインデントを修正します。 – Mordechai

+0

待ち、getChildren()。remove()再帰的ですか?私。子階層全体を検索しますか?私は決して知らなかった... – Gikkman

答えて

1

修正済み!

私はgetChildren().remove(cubic_curve).setOnMouseDragReleased()ハンドラ内で呼び出していました。私が.setOnMouseReleased()ハンドラの中に入れたとき、それは完全に機能しました。

私は、3つのノードをドラッグアンドドロップで3次曲線で接続しようとしていました。 onDragReleaseハンドラは、ドロップされたノードによって呼び出されます。参照していたカーブが正しいノードではありませんでした。これをonMouseReleasedに移動すると、ハンドラは最初のノードを参照してから正しいカーブを参照します。

希望は意味があります!

+0

あなたは解決策を報告して嬉しいです。 :)私はあなたの答えを編集し、いくつかの書式を追加しました。 – Lii

+0

ありがとう:)まだここのマークダウンに新しい! – user3668541

+0

Markdownは素晴らしいです!それで簡単なフォーマットをするのは簡単です。 – Lii