JavaFX SceneBuilder 2.0 не открывает FXML для пользовательских компонентов с FX: root в качестве основного тега макета

у меня есть пользовательский компонент с макетом в файле 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 нагрузки отлично с настройкой root по коду.

в официальном учебнике (http://docs.oracle.com/javafx/2/fxml_get_started/custom_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>

enter image description here

как вы можете видеть, Oracle говорит:удалите разметку AnchorPane, автоматически созданную IDE NetBeans.

но это не работает.

обновление

SceneBuilder 2.0 Build 7-проблема сохраняется

JDK8 b117-проблема сохраняется

ссылка JIRA:https://javafx-jira.kenai.com/browse/DTL-5968

2 ответов


спасибо разработчикам SceneBuilder.

ошибка с https://javafx-jira.kenai.com/browse/DTL-5968 исправлено.

и на SceneBuilder 2.0 build 9-проблема была решена.

вопрос закрыт.


не совсем исправлено для меня. Я все еще получаю эту ошибку.

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)

С последней версией Scenebuilder 2.0 dev release:

Build Information Version: 2.0-b09, Changeset: 12f988d79fe6 Date:
2013-12-19 09:33

не уверен, что обходной путь в этот момент, кроме как продолжать переключать FX: root для конкретного объекта контейнера. Лентяй.

  • Кура