我在eclipse中创建了一个JavaFx8 Maven项目。我把我的fxml文件放在/ src / main / resources / fxml /中。我可以使用FxmlLoader从java文件加载fxml。但是,我无法使用Scenebuilder从Fxml文件中选择控制器类。
如何在Scenebuilder工具中自动查看控制器类?
我发现了一个类似的问题,但答案并不清楚。我无法登录jira案例。
Tell JavaFX Scene Builder where to look for controller classes
答案 0 :(得分:3)
我最初将fxml文件放在同一个文件夹/ src / main / java中。然后,我使用scenebuilder映射了所有元素/控制器。
映射完成后,我将fxml移动到/ src / main / resources文件夹。这很有效。
答案 1 :(得分:1)
同样的自动化解决方案:找到与标准java-fx项目相同的控制器和fxml文件。我的意思是将你的fxml和控制器文件放在与非maven项目相同的地方。然后将以下maven配置添加到项目中。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy-fxml-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes/</outputDirectory>
<resources>
<resource>
<directory>src/main/java/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.fxml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
答案 2 :(得分:0)
您必须将FXML放在其控制器旁边的同一个包中 并且Scene Builder将看到Controller
答案 3 :(得分:0)