Возможно ли автоматическое изменение размера панели, если узел выходит за ее границы в javafx

я хотел бы знать, возможно ли автоматическое изменение размера панели после добавления узла, который находится за пределами границ панели, чтобы все дочерние панели были видны на сцене. Например, узел с отрицательной координатой x, такой как x = -100,y = 200. Я пытался исследовать, как это сделать, но все было напрасно. Спасибо.


person Lycon    schedule 30.03.2015    source источник
comment
Вы хотите изменить размер кадра так, чтобы x=-100 стало x=0? (что означает перемещение кадра на 100 пикселей влево, а затем добавление 100 к ширине кадра, чтобы сохранить его правую сторону на месте) Это довольно странный поступок. Не могли бы вы уточнить, почему вы хотите сделать что-то подобное?   -  person Dioxin    schedule 31.03.2015
comment
Причина, по которой я хотел бы сделать это, заключается в том, что мне нужно иметь возможность отображать всю фигуру/многоугольник на панели независимо от ее координат. По сути, включите автоматическое изменение размера панели всякий раз, когда добавляются узлы, находящиеся за пределами видимой области.   -  person Lycon    schedule 31.03.2015


Ответы (1)


Переберите все ваши дочерние элементы и подсчитайте общее количество границы в родительском, переместите дочерние элементы так, чтобы верхняя/левая позиция была 0/0, вычислите коэффициент масштабирования в зависимости от общих границ и представления, а затем примените setScaleX и setScaleY.

person Roland    schedule 31.03.2015