我很喜欢JavaFX和SceneBuilder,但我不知道如何让SceneBuilder在他们不在同一个文件夹中时将他们的Java控制器与我的FXML视图链接起来。我只是想有这样的文件夹结构:SceneBuilder 2:控制器类是否必须与视图FXML文件位于同一文件夹中?
package
|-- model
|-- view
| |--someElementView.fxml
| \--anotherElementView.fxml
\-- control
|--someElementController.java
\--anotherElementController.java
相反,我只能让SceneBuilder承认我的控制器,如果我有我想避免此文件夹结构:
package
|-- model
\-- view
|--someElementView.fxml
|--anotherElementView.fxml
|--someElementController.java
\--anotherElementController.java
会发生什么当FXML和java文件都在同一个文件夹中时,SceneBuilder检测到它们并显示一个包含java控制器(即“package.view.someElementController”和“package.view.anotherElementController”)的下拉列表供我选择一切都很好。
如果我有一个带有控制器的文件夹结构的项目,SceneBuilder将不会为我提供任何选项来分配控制器类。如果我只是在控制器文本字段中输入它(即“package.control.someElementController”或“package.control.someElementController”),它仍然不会选取java控制器中定义的@FXML变量。
这是一个在场景生成器中的错误还是我正在接近错误的方式?我总是将控制器和视图放在不同的文件夹中,因为这是一个大项目,所以我想保持整洁。
控制器的正确值是完全合格的类名,例如, 'package.control.someElementController',尽管SceneBuilder似乎没有正确认识到这一点。 – 2015-03-03 13:25:33
是的,它始终是我在文本框中介绍的完全合格的类名,我将在我的问题文本中对其进行更新。 – zapatilla 2015-03-05 10:47:53