Недавно я начал играть с Java FX, FXML и создателем сцен, и я пытался добавить ключевых слушателей к одному из контроллеров для сцены. Когда я это делаю, ключевые слушатели работают не так, как должны, и я думаю, что это потому, что они не сосредоточены на этой конкретной сцене. Я попытался получить доступ к той сцене, к которой был подключен контроллер, чтобы установить его напрямую, но он приходит к выводу, что это часть нулевой сцены.JavaFX Получение сцены с контроллера
Есть ли способ получить доступ к сцене, в которой используется этот контроллер, чтобы попытаться назначить ключевое событие и слушателей этой конкретной сцене? Должен ли я проходить через rootController, который является статическим во всем приложении? Или, еще лучше, есть ли более простой способ обойти это?
Большинство примеров, которые я вижу, предполагают, что все в основном объединено в основном классе или разделено между несколькими другими классами без ввода FXML, и я не уверен, как применять их исправления, когда у меня есть java-контроллеры, FXML-страницы, а главное приложение разделено.
Спасибо за помощь!
Да! Это дает мне сцену вместо null ^^. Я пытался получить его во время метода init(), поэтому, возможно, это была проблема! Спасибо! Теперь я могу надеяться, что ключевые исполнители будут работать: D – Keanu
Если вы пытаетесь добавить «keylisteners» в сцену, я бы советовал делать это там, где создается сцена. * Хотя я не уверен в вашем требовании * – ItachiUchiha
Я пытаюсь создать игру, используя все это, и теперь у меня есть одна сцена, которая будет корнем, и я просто переключаю сцену в зависимости от того, где пользователь будет в любое время. Я просто добавлю его на сцену, когда я сменю сцену, так что ключевые события уже есть? И как я могу получить доступ к элементам внутри нового контроллера и сцене из-за пределов контроллера? (Т. Е. Сделать ключ для перемещения изображения при создании экземпляра изображения в контроллере сцены) – Keanu