我有包含行的FXML文件布局的自定义组件
<fx:root type="javafx.scene.layout.VBox" spacing="10.0" xmlns:fx="http://javafx.com/fxml">我在SceneBuilder 1.0上创建了这个文件,但是我尝试在SceneBuilder 2.0上打开这个文件,我得到了异常
java.io.IOException: javafx.fxml.LoadException: Root hasn't been set. Use method setRoot() before load.
/Users/dmitrynelepov/Development/SogazGit/smpb/SMProjectBrownRelease/SMPBProxy/engine/fxml/component_daemon_viewer.fxml:14还必须说明:在应用程序中,通过代码设置根可以很好地加载fxml。
在官方教程(control.htm)中:
<fx:root type="javafx.scene.layout.VBox" xmlns:fx="http://javafx.com/fxml">
<TextField fx:id="textField"/>
<Button text="Click Me" onAction="#doSomething"/>
</fx:root>

如您所见,甲骨文告诉:删除NetBeans IDE自动生成的.标记。
但这不管用。
更新
SceneBuilder 2.0构建7-问题仍然存在
JDK8 b117 -问题依然存在
发布于 2013-12-21 18:52:30
感谢SceneBuilder开发人员。
https://javafx-jira.kenai.com/browse/DTL-5968的Bug已经修复。
并在SceneBuilder 2.0上解决了构建9-问题.
问题结束了。
发布于 2014-01-16 16:47:20
不太适合我。我还在犯这个错误。
java.io.IOException: javafx.fxml.LoadException: Root hasn't been set. Use method setRoot() before load.
/C:/path-to-my-fxml/foo.fxml:11
at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:86)
at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:74)最新版本的SceneBuilder2.0dev发行版:
Build Information Version: 2.0-b09, Changeset: 12f988d79fe6 Date:
2013-12-19 09:33除了继续为一个具体的容器对象切换fx:root之外,不确定此时的解决方法是什么。真扫兴。
https://stackoverflow.com/questions/19972735
复制相似问题