Рисование преобразования независимых макетов границ в JavaFX
Для простого векторного приложения для рисования я ищу реализацию «Окна выбора», которая является графическим представлением layoutBounds узла.
Пример:
пример http://i61.tinypic.com/ou4p3t.png
Благодаряjewelsea и егоBoundsExampleУ меня есть хорошее понимание того, как получить данные для коробки. Часть, с которой я борюсь, это на самом деле нарисовать прямоугольник на сцене таким образом, чтобы правильно учитывать преобразования на узлах.
Правильно в этом случае означает, что логический размер границ масштабируется с помощью узла, но ход поля выбора остается постоянным. Это означает, что поле выбора масштабируется с соответствующим узлом, но обводка остается немасштабированной.
Я могу придумать две общие стратегии для реализации такой рамки выбора.
Как свойство моего пользовательского узла Окно выбора может быть внутренней информацией о моем пользовательском узле с его видимостью, связанной с выбранным состоянием узлов. В этом случае мне нужно найти способ, чтобы узлы игнорировали родительские преобразования, если это возможно.
Рисование блоков выбора поверх масштабированных узлов на прозрачной панели. В этом случае я бы привязал блоки выбора к границам макета масштабированных узлов после применения преобразований узла к его границам. Похоже, этого не происходит в JFX (даже для «boundsInParent»), так как вы можете быстро протестировать впример применяя некоторое масштабирование к «группе» в строке ~ 122.Ссылка на модифицированный пример с масштабированием.
Поскольку я новичок в JFX, я хотел бы попросить совета. Надеюсь, вы найдете эту проблему интересной :)
С наилучшими пожеланиями, Оливер.