我有一个使用SceneBuilder 2.0创建的fxml文件。这个文件在我使用Netbeans 8开发的JavaFx项目中使用。今天,SceneBuilder停止使用我的文件。当我尝试打开它时,SceneBuilder会最小化并且不会打开文件。我的场景图中没有任何自定义组件。
我将文件的内容复制到一个新的fxml文件中并给它一个新名称。然后,SceneBuilder能够打开此文件,即使内容与无法打开的文件相同。
这里发生了什么?
我道歉,但我无法发布fxml文件的内容。
好的..所以我在这里寻找解决这个奇怪问题的方法!看到其他任何答案都没有为我工作,我做了我能想到的最随意的事情并且它起作用了。
Open SceneBuilder (a brand new one). Go to File > Open Recent > Clear Menu. Close Scene Builder.
现在应该修复bug(它对我有用)
PS:发布这个答案我感到很惭愧。但由于这是一个浪费时间的令人讨厌的错误,我不希望任何其他人浪费他们的'。
PPS:另外,我不能仔细检查这个解决方案,因为它对我有用,我不能再重新创建错误的场景了。
我通过alt-tabbing到SB程序解决了这个问题,然后最大化窗口(快捷方式:窗口键+向上箭头键)。
似乎是一个SB bug。
我有同样的问题。看起来这是一个bug。
我通过创建一个新的FXML文件(空)并将原始FXML文件的所有代码复制到它来解决它。由SceneBuilder打开的新FXML。
Win 7也遇到了这个问题.Trick是右键单击SB任务栏图标,最大化窗口,通过标题栏向下拖动它,并显示一个真正的小窗口,重新调整窗口大小,应该这样做。我认为这是一个SB显示错误。祝好运。
花了~4小时,我就这样解决了。在我的fxml文档中,我有一个带有</child>
标签的FlowPane。我将它更改为<child></child>
并且工作 - SceneBuilder打开了fxml文档。我知道这是超级retardet,我无法解释为什么会发生这种情况,但我可以重现这个......
对我来说,问题在于我在FXML文件中提供的图像路径。我能够通过使用@后跟图像路径来解决问题。使用此语法错误,您将能够运行您的应用程序,但场景构建器将拒绝打开该文件。
例如(假设您提供相对路径):
语法错误:
<ImageView fitHeight="31.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" >
<image>
<Image url="img/image.png"></Image>
</image>
</ImageView>
正确的语法:
<ImageView fitHeight="31.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" >
<image>
<Image url="@/img/1000px-evobus.svg1.png"></Image>
</image>
</ImageView>
在NetBeans中转到Tools;选项; Java的; JavaFX并设置Scene Builder Home的路径。这应该解决问题