2015-03-03 32 views
4

我很喜欢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变量。

这是一个在场景生成器中的错误还是我正在接近错误的方式?我总是将控制器和视图放在不同的文件夹中,因为这是一个大项目,所以我想保持整洁。

+0

控制器的正确值是完全合格的类名,例如, 'package.control.someElementController',尽管SceneBuilder似乎没有正确认识到这一点。 – 2015-03-03 13:25:33

+0

是的,它始终是我在文本框中介绍的完全合格的类名,我将在我的问题文本中对其进行更新。 – zapatilla 2015-03-05 10:47:53

回答

1

这是Scene Builder的限制。投票DTL-5573DTL-5124

+0

感谢您的信息。我刚刚为这两个问题投了赞成票。我将继续使用视图文件夹中的控制器并关注新版本。 – zapatilla 2015-03-05 13:45:18

+0

Oracle不再为Scene Builder发布二进制文件。请参阅[此邮件列表发布](http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-March/016751.html)。 – 2015-03-05 14:06:24

相关问题