2013-05-27 3 views
1

Я использую javafx 2.2. У меня есть объект окружности, который движется по мере перемещения мыши. Однако на сцене появляются новые объекты. Я хочу разместить этот объект всегда поверх других.В Javafx 2, как всегда рисовать что-то сверху?

С OPENGL вы просто рисуете этот круг LAST в каждом кадре в цикле рендеринга, но с помощью JavaFX, как это можно достичь?

ответ

3

Большую часть времени просто использовать Node.toFront()

Invoke node.toFront() при запуске перетащить узел.

Порядок рисования узла определяется положением узла в родительском элементе узла ObservableList детей. node.toFront() переместит узел в конец дочернего списка родителя, чтобы он стал последней вещью, отображаемой для этого родителя.

Опасайтесь, что для некоторых типов макета (например, HBox) порядок узла в дочернем списке родителя также определяет положение макета узла в списке, а также порядок рендеринга узла.

Для 3D работы изменить Z Заказать

Если вы делаете 3D работу, то регулировка г-координата узла можно также поместить узел поверх других узлов.

Для кросса родителей тащат использовать стек

Если вы хотите, чтобы перетащить узел из его родителя и в другой родитель, то вы могли бы сделать корень сцены стопки, удалить узел из его исходный родитель, поместите его в верхнюю часть стека сцены, перетащите его в новый родительский элемент и по завершении перетаскивания удалите узел из стека сцены и поместите его в соответствующую позицию в списке дочерних элементов нового родителя.

+0

спасибо, я посмотрю – nan

 Смежные вопросы

  • Нет связанных вопросов^_^