2013-10-10 3 views
-2

я нужен текущий этап в моем контроллер анса после поиска я нашел два решения:JavaFX: Этап в контроллере - лучшее решение

  1. пройти этап в мой контроллер при инициализации (как that)
  2. Получить его от контрольной группы (https://stackoverflow.com/a/12003426/2039619)

Какое оптимальное решение?

+0

Я думаю, что этот вопрос не более основан на мнениях, чем другие. Я спросил об этом, потому что я хотел, чтобы я испытывал от других. Как это сделать. Думаю, это и цель этого сайта. И я получил один очень полезный ответ! – JulianG

ответ

1

Получение сцены из контроллера FXML может быть сложным, так как если он еще не закончил загрузку, вы не можете получить доступ к сцене через компоненты (на вашем FXML), таким образом, на сцену (нулевой указатель!). Вам нужно будет добавить код в метод initialize (из интерфейса Initializable), чтобы безопасно выполнять текущий этап во время выполнения от любого компонента, объявленного в вашем контроллере.

Другой выбор кажется мне лучше, поскольку вы можете делать вещи со сценой ASAP, что также означает, что перед рендерингом текущего FXML, когда вы вставляете сцену в контроллер (с установщиком, вы добавляете ссылка на него), вам не нужно ждать записи GUI в текущем FXML. Недостатком является то, что вам нужно добавить явный код для доставки сцены на ваши контроллеры FXML (и от контроллеров до контроллеров и т. Д.).

+0

Спасибо вам большое! – JulianG

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