java - 场景生成器不打开 fxml 文件
问题描述
我在使用 Scene Builder 时遇到问题,因为我尝试在其中打开我的一个项目 FXML 文件,并且一直收到以下错误消息
该文件有效,当我在 JVM 中运行它时,它无法在 Scene Builder 中打开。
该文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXCheckBox?>
<?import com.jfoenix.controls.JFXTextField?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane prefHeight="600.0" prefWidth="1300.0"
xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="smartdocClient.controller.CreateDoctorController">
<children>
<ImageView fitHeight="112.0" fitWidth="112.0" layoutX="72.0" layoutY="46.0">
<Button layoutX="1159.0" layoutY="46.0" mnemonicParsing="false"
onAction="#backButtonPressed" prefHeight="35.0" prefWidth="86.0" text="Back">
<font>
<Font size="16.0" />
</font>
</Button>
<JFXTextField layoutX="254.0" layoutY="339.0" promptText="Phone Number" fx:id="phoneNo"/>
</children>
</AnchorPane>
我一直在通过 GitHub 和我的朋友一起做这个项目,但是他制作的一些 fxml 文件可以打开,但其他的却不能。所有这些文件都在同一个文件夹中。
还有下面抛出的错误消息
at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:97)
at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:85)
at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:102)
at com.oracle.javafx.scenebuilder.kit.editor.EditorController.updateFxomDocument(EditorController.java:2540)
at com.oracle.javafx.scenebuilder.kit.editor.EditorController.setFxmlTextAndLocation(EditorController.java:761)
at com.oracle.javafx.scenebuilder.app.DocumentWindowController.loadFromFile(DocumentWindowController.java:386)
at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenFiles(SceneBuilderApp.java:658)
at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenFile(SceneBuilderApp.java:594)
at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performControlAction(SceneBuilderApp.java:203)
at com.oracle.javafx.scenebuilder.app.menubar.MenuBarController$ApplicationControlActionController.perform(MenuBarController.java:1770)
at com.oracle.javafx.scenebuilder.app.menubar.MenuBarController.handleOnActionMenu(MenuBarController.java:1214)
at com.oracle.javafx.scenebuilder.app.menubar.MenuBarController.lambda$new$4(MenuBarController.java:1208)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.controls/javafx.scene.control.MenuItem.fire(MenuItem.java:465)
at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1380)
at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(ContextMenuContent.java:1333)
at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
解决方案
我删除了它,它工作,只是把它留空,它工作,有同样的问题。
推荐阅读
- laravel - 如何将外部 vue.js 库导入 laravel / vue.js 应用程序?
- python-3.x - 使用 f.seek(0) 在文件开头写入
- networking - 如何计算 NAT 后面的客户端数量
- java - 我想编写 spring boot 代码来从 mongoDB 中获取有条件的数据
- vb.net - 从具有两个 IP 地址的 PC 连接到服务器
- amazon-web-services - 动态数据库 | 批量获取 | 以与提供的键相同的顺序获取结果
- bash - 使用 bash 读取两个文件的嵌套循环
- node.js - src/app/services/generateReport.service.ts(2,16) 中的错误:错误 TS2580:找不到名称“需要”
- azure - 当我们使用逻辑应用转发电子邮件时,保留原始电子邮件的自定义标头
- intellij-idea - IntelliJ (Webstorm / PyCharm) 采取行动的快捷方式现在打开奇怪的弹出窗口