2016-07-20 1 views
0

У меня есть стек стек позиционируется с помощью x и y на экране, я начинаю добавлять некоторые узлы в стек стек, так что размер стека панели увеличивается, что теперь похоже, что панель стека движется ,,, это трудно сделать ясно, так вот образ, моей объяснить больше:JavaFX - добавление узла в стек стек с теми же старыми X и Y

enter image description here

есть в любом случае, чтобы добавить узел в области стека и сохранить его оригинальные x и y?

я пытаюсь сделать это без повторного перевода местоположение ,,, спасибо

ответ

1

Вы, вероятно, используется выравнивание по умолчанию StackPane, который Pos.CENTER с очевидным эффектом, что StackPane сделает это лучше держите Node в центре.

Вы можете применять различные позиционирование для одного Node

StackPane.setAlignment(node, Pos.TOP_LEFT); 

Или для всего StackPane:

stackPane.setAlignment(Pos.TOP_LEFT); 

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

StackPane.setMargin(node, new Insets(20, 0, 0, 100)); 

разместить Node на расстоянии 20 от верхней части и на расстоянии 100 с правой стороны.


Если вы не хотите StackPane в положение ребенка, вы можете установить удалось false для этого ребенка:

node.setManaged(false); 
node.setLayoutX(100); 
node.setLayoutY(20); 

Обратите внимание, что этот способ node будет рассматриваться, как если бы он ISN» Там, где макет.

+0

спасибо fabian ,, один вопрос ты, могу ли я установить удалось ложным и все еще добавить узлы в центр? потому что я добавлял узлы в стек стек, а затем устанавливал перевод x и y ,,, чем Q –

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