Как привязать линию к кругу, который находится внутри другого узла в JavaFX? - PullRequest
0 голосов
/ 20 ноября 2018

Я создал пользовательский узел (это просто производный от VBox узел), который содержит два гнезда (кружки) справа и слева.

Custom nodes with IO sockets

Цель состоит в том, чтобы соединить их, перетаскивая гнезда к другим, и между ними должна быть проведена линия.

Custom nodes connected after dragging the line

Здесь я просто получаю положения мыши и x и y и рисую линию между гнездами, когда на одном из них обнаружено перетаскивание.Это просто, но есть проблема, когда я перемещаю узлы.

Custom nodes moved after connecting them with lines

То есть линии не связаны с сокетами (кругами).Когда я попытался привязать их к позициям centerX и centerY сокетов (окружностей), они были привязаны неправильно, потому что позиции centerX и centerY возвращаются в соответствии с VBox, а не AnchorPane.Я добавил свои собственные узлы в AnchorPane, и на нем также нарисованы линии.Так что это проблема кругов внутри VBox и линий внутри AnchorPane.

Как связать круги и линии, когда у них разные родители?(Я строго хочу, чтобы они были связаны)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...