我使用JavaFX 2使用Scala。
我有class Application extends javafx.application.Application
该做的事情一样读取应用程序配置等,然后它会调用主窗口。
需要该主窗口被连接到一个称为控制器MainWindow
。 我可以做到这一点fx:controller="com.foo.bar.MainWindow"
,然而,在这种情况下的实例MainWindow
是无法访问我的应用程序的配置,等等。
那,我便想起一件事是实例的MainWindow
里面我自己的控制器Application
类,并注入所有的依赖关系,然后告诉主窗口视图控制器应该是我刚刚创建的实例。 但是,我不知道如何做到这一点?
什么是访问JavaFX中控制器的数据的首选方式 - 通过某种依赖注入或别的什么?
换句话说,这种观点FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.Scene?>
<?import javafx.scene.control.*?>
<BorderPane fx:controller="com.foo.bar.MainWindow" prefHeight="703.0" prefWidth="803.0" xmlns:fx="http://javafx.com/fxml">
...
会自动实例化一个com.foo.bar.MainWindow
控制器我(?):
...
class MainWindow {
var app: Application = null
...
}
在那里我有提到我的应用程序,其中包含的信息我想访问:
class Application extends javafx.application.Application {
...
// Stuff I want to access, application also fires up the first scene.
}
问题是,我怎样才能到主应用程序的参考? 我该怎么办依赖注入或任何等价?