Есть ли способ выбрать узел из родителя, используя двойные координаты? Я слышал о методе impl_pickNode
, но он не использует двойные координаты, и, похоже, не рекомендуется использовать устаревшие методы.Как выбрать узел из родителя в JavaFx 8
ответ
Вы решили проблему? Если нет, это должно помочь: http://fxexperience.com/2016/01/node-picking-in-javafx/
Это код, который заменяет impl_pickNode
в реализации SceneBuilder.
В основном вы рекурсивно проходите через все дочерние элементы, начиная с корневого узла сценграфа и проверяя, находятся ли координаты внутри этого узла. Если это так, вы продолжаете следовать по пути, пока не найдете листовой узел. При этом вы также должны проверить, есть ли Узел, например, isVisible
или isMouseTransparent
, а также соблюдение z-порядка.
Спасибо и FWIW, нисходящее движение не против. – Bugs
с двойными координатами вы имеете в виду его "абсолютное" положение? Возможно, вам придется реализовать его самостоятельно, итерации над своими детьми. Вы посмотрели на это? https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#pickOnBoundsProperty – Pievis