Почему у меня нет нулевой сцены?

Я пытаюсь выполнить некоторую 3D-работу с Javafx (используя библиотеку TornadoFX) и не могу установить свою PerspectiveCamera в Scene когда Scene возвращает null .

Я запускаю свою программу следующим образом:

 class ThreeDTest : App(HomeView::class, ThreeDStyles::class) { override fun start(stage: Stage) { super.start(stage) stage.show() stage.scene.fill = Color.BLACK val primaryScreenBounds = Screen.getPrimary().visualBounds stage.maxWidth = 1920.0 stage.maxHeight = 1080.0 stage.minWidth = 1920.0 stage.minHeight = 1080.0 } } 

а затем в классе HomeView меня есть следующее:

 class HomeView : View() { override val root = stackpane { val axisGroup = Xform() val world = Xform() val camera = PerspectiveCamera(true) val cameraXform = Xform() val cameraXform2 = Xform() val cameraXform3 = Xform() val cameraInitialDistance = -450.0 val cameraInitialXAngle = 70.0 val cameraInitialYAngle = 320.0 val cameraNearClip = 0.1 val cameraFarClip = 10000.0 //just a builder class to add properties to the camera buildCamera(this, cameraXform, cameraXform2, cameraXform3, camera, cameraNearClip, cameraFarClip, cameraInitialDistance, cameraInitialYAngle, cameraInitialXAngle) buildAxes(axisGroup, world) println(scene) //returns null scene.camera = camera //this does not work as scene is null } 

Есть ли что-то, что я делаю неправильно? Я понятия не имею, почему моя Scene равна нулю, поскольку я думал, что TornadoFX View должен был создать новую Scene при ее инициализации? Нужно ли вручную создавать его в классе App? Я попытался переопределить функцию createPrimaryScene , а также переместить мой код в функцию init в представлении HomeView и это не имеет успеха.

Есть идеи? Вытащить волосы здесь.

(О, и на несвязанной ноте, могу ли я просто сказать, что поддержка 3D в TornadoFX, честно говоря, за всю мою жизнь ?)

Представление создается до того, как сцена прикреплена, поэтому для управления сценой просто переопределите onDock и выполните там свои операции. Когда onDock , сцена прикрепляется.

Intereting Posts
Как установить вкладку BottomNavigationView по умолчанию в Kotlin? Apache FOP 2.2 Включить шрифты, используя относительный путь kotlin retrofit-Background sticky concurrent mark sweep GC освобожден 65326 (1448KB) Объекты AllocSpace, 62 (1736KB) Объекты LOS, Как издеваться над объектом Котлина с помощью Mockito / PowerMockito? Cloud Firestore – QuerySnapshot.toObjects выбрасывает ненулевой указатель Тест модуля Kotlin не обнаруживает интерфейс зависимостей модуля Низкая производительность анимации параметров макета в Android Почему этот тип еще нужен, хотя он уже был уверен в этом примере? Gradle Project: java.lang.NoClassDefFoundError: kotlin / jvm / internal / Intrinsics Как вызвать метод Котлин с более чем одной подобной сигнатурой с лямбдой? Несоответствие типов. Обязательная карта <String, Any> Найдено карта <String, Any?> Как читать текстовый файл из Firebase в Android-приложение Как обрабатывать обработку ошибок в одном месте в rxjava с помощью обертки Как преобразовать этот код Java в код Kotlin? Kotlin superClass Kclass