JavaFX с Spring Framework [дубликат]

Когда объекты создаются, сам объект передается в параметр self.

enter image description here [/g0]

Из-за этого данные объекта привязаны к объекту. Ниже приведен пример того, как вам может показаться, как выглядят данные каждого объекта. Обратите внимание, что «я» заменяется именем объекта. Я не говорю, что приведенная ниже диаграмма ниже полностью точна, но, надеюсь, она служит цели визуализации использования себя.

enter image description here [/g1]

Объект передается в параметр self, чтобы объект мог сохранять свои собственные данные.

Хотя это может быть не совсем точным, подумайте о процессе создания объекта таким образом: Когда объект создан, он использует класс как шаблон для своих собственных данных и методов. Не передавая свое собственное имя в параметр self, атрибуты и методы в классе оставались бы в качестве общего шаблона и на него не ссылались бы (принадлежат) объекту. Поэтому, передавая имя объекта в параметр self, это означает, что если 100 объектов создаются из одного класса, они могут отслеживать свои собственные данные и методы.

См. Иллюстрацию ниже:

enter image description here [/g2]

14
задан zenbeni 24 September 2013 в 06:17
поделиться

2 ответа

Существует множество способов интеграции Spring с JavaFX. Большинство методов, которые вы найдете, нацелены на весеннюю инъекцию бобов на контроллерах FXML с использованием API ControllerFactory на FXMLLoader. Более продвинутый метод может вставлять Spring-прототипы Spring в качестве пользовательских компонентов JavaFX в вашу сцену с API BuilderFactory (я сделал тесты с тем, что это работает очень хорошо) FXMLLoader.

Наконец, вы говорили о SceneBuilder , Есть еще некоторые проблемы, с которыми SceneBuilder и Spring обеспокоены некоторыми. Взгляните на это другое сообщение о загрузчиках классов и SceneBuilder: Разрешение класса с иерархическими пользовательскими компонентами JavaFx в Scenebuilder

Чтобы SceneBuilder не был осведомлен о Spring-инъекции, если это возможно. Вы можете добиться этого, используя отложенное instanciation контекста Spring (во время «запуска» вашего приложения): ваш собственный Spring FXMLLoader будет использоваться только во время выполнения, и вы можете использовать vanilla FXMLLoader, когда Spring не запущен. Таким образом, SceneBuilder не будет загружать Spring с помощью своего vanilla FXMLLoader, и у вас не будет проблем с classpath.

4
ответ дан Community 4 September 2018 в 08:50
поделиться

Я искал образец интеграции Spring и JavaFX, но не смог найти хороший. Поэтому я работал над примером. Вы можете посмотреть это пример приложения. https://gitlab.com/sunkur/SpringJavaFXController

Надеюсь, это поможет.

11
ответ дан Mehmet Sunkur 4 September 2018 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: