2016-09-30 3 views
0

CubicCurve를 확장하는 사용자 지정 구성 요소가 있습니다. AnchorPane의 세 번째 자식입니다. 그러나 나는 아직도 그것을 볼 수 있습니다, - JavaFx 제거 하위 노드가 기능을 잃지 만 현재 상태로 유지됩니다.

Scene 
    AnchorPane 
     BorderPane 
      Circle 
       CubicCurve 

내가 전화

anchorpane.getChildren().remove(cubic_curve) 그것의 기능을 제공합니다 (이 더 이상 구속되지 않은 시작과 끝 지점이 이동 노드에 바인딩) 잃는다.

모양을 '삭제'하는 적절한 방법이 있습니까? 내가 찾은 모든 것은 아이를 제거하는 것을 가리키고 있지만, 이것은 나를 위해 작동하지 않습니다.

미리 감사드립니다.

+1

정상 작동합니다. 그렇지 않은 경우 어딘가에 다른 문제가있을 것입니다. 질문을 포함 시키려면 [MCVE]를 만들고 [편집]하십시오. –

+1

CubicCurve가 Circle의 자손인가 궁금하십니까? 모양에는 어린이가있을 수 없습니다. 나는 테두리 판의 자식이라고 가정하고 들여 쓰기를 수정합니다. – Mordechai

+0

기다리십시오, getChildren(). remove() recursive? 나는. 전체 하위 계층 구조를 검색하고 있습니까? 나는 결코 알지 못했다 ... – Gikkman

답변

1

고정!

나는 을 .setOnMouseDragReleased() 처리기 내에서 호출하고있었습니다. 내가 .setOnMouseReleased() 핸들러에 넣었을 때 완벽하게 작동했습니다.

커서를 드래그 앤 드롭하여 큐브 곡선으로 연결하려고했습니다. onDragRelease 핸들러는 삭제 될 노드에 의해 호출됩니다. 참조했던 커브가 올바르지 않습니다. 핸들을 onMouseReleased으로 이동하면 핸들러가 올바른 곡선을 참조하는 첫 번째 노드를 참조합니다.

희망이 맞습니다!

+0

솔루션으로 다시보고 해 주셔서 감사합니다. :) 나는 당신의 대답을 편집하고 일부 서식을 추가했습니다. – Lii

+0

고마워요. 아직 여기에 가격 인하가 새로 왔습니다! – user3668541

+0

마크 다운이 훌륭합니다! 이렇게 깔끔한 형식을 쉽게 얻을 수 있습니다. – Lii