Если вы хотите, чтобы Scene
был инициализирован с предпочтительным размером его содержимого, не устанавливайте явно размер во время построения.Из документации из Scene
:
Размер сцены может быть инициализирован приложением во время построения.Если размер не указан, сцена автоматически вычислит свой начальный размер на основе предпочтительного размера содержимого.Если указано только одно измерение, другое измерение вычисляется с использованием указанного измерения с учетом смещения содержимого корня.
В вашем случае просто используйте:
Scene scene = new Scene(root);
ЕслиВы должны указать ширину и высоту во время построения, например, чтобы установить буфер глубины и / или сглаживание, используйте отрицательное число (например, -1
) для ширины и высоты.
Scene scene = new Scene(root, -1, -1, true, SceneAntialiasing.BALANCED);
Тозаставит Scene
по-прежнему использовать предпочтительный размер его содержимого 1 .Обратите внимание, что вам нужно иметь дело только с буферизацией глубины / сглаживанием при использовании 3D-функций (для получения дополнительной информации прочитайте связанную документацию).
1.Не удалось найти документацию по этому поводу.Однако, если я правильно понял реализацию, использование отрицательных чисел - это то же самое, что и установка размера.