3

我用 java se7 安装了 netbeans,javafx 示例运行良好。@FXML在scenebuilder中,我可以为在我的控制器中定义和注释的每个控件选择一个ID 。但是,我喜欢我的项目组织。当我创建一个新包并将我的 FXML 文件移到那里时,(myapp/views)并且控制器停留在它所在的根目录 -> myapp 中,然后在 scenebuilder 中似乎找不到 id。

我知道 FXML 中的“控制器类”,但由于我没有移动我的控制器,所以不应该改变。

更具体地说,当我的控制器和 fxml 都在包“holidayapp”中时,它可以工作。将 fxml 移动到子包 holidayapp/views',不起作用。控制器类仍然存在

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml" fx:controller="holidayapp.HolidayViewController">

因为 HolidayViewController 保留在根包中。除了将 fxml 文件从主包移动到子包之外,我什么也不做。

我想在我的场景构建器中查看来自 holidayViewController 的 id。使用子包中的 fxml 进行编译和运行从来都不是问题。

谢谢

4

2 回答 2

2

我认为您可能会遇到以下问题:

https://bugs.openjdk.java.net/browse/JDK-8091793

如果您认为可以,请考虑对此问题进行投票和/或评论。

于 2013-01-30T09:19:03.437 回答
0

我处理这个问题的方法是将我的 Main 类放入视图(扩展 Application 的那个)。这让我可以访问我的 Controller 类、它们的变量和方法。这适用于 SceneBuilder 1.1。

我只能在使用 Eclipse 而不是 NetBeans 时发言,所以这样做可能仍然一无所获。

于 2013-07-10T06:59:23.853 回答