首页 文章

Eclipse - JavaFX FXML LoadException

提问于
浏览
0

我对使用JavaFX和FXML非常非常陌生,而且我遇到了一些问题,我无法通过重复的Google搜索或在Stack Exchange上搜索来解决这个问题 . 虽然其他人也有类似的问题,但我无法在自己的项目中复制他们的解决方案 .

现在,我主要只是尝试使用FXML测试JavaFX并感受它...但是我甚至无法加载它,因为FXMLLoader给了我以下错误 .

javafx.fxml.FXMLLoader.importClass上的javafx.fxml.FXMLLoader.constructLoadException(未知来源)中的javafx.fxml.LoadException:/C:/Users/Dylon/workspace/Convergence_titanExplorationModule/bin/com/test/fxml/ExplorationModuleUI.fxml来自javafx.fxml.FXMLLoader.processImport(未知来源)的javafx.fxml.FXMLLoader.processProcessingInstruction(未知来源)位于javafx.fxml.FXMLLoader.loadImpl(未知来源)javafx.fxml.FXMLLoader.loadImpl(未知来源)源)在javafx.fxml.FXMLLoader.loadImpl(来源不明)在javafx.fxml.FXMLLoader.loadImpl(来源不明)在javafx.fxml.FXMLLoader.loadImpl(来源不明)在javafx.fxml.FXMLLoader.loadImpl(来源不明)在javafx.fxml.FXMLLoader.loadImpl(未知来源)在javafx.fxml.FXMLLoader.load(未知来源)在com.test.fxml.Main.start(Main.java:14)在com.sun.javafx.application . LauncherImpl.lambda $ launchApplication1 $ 163(未知来源)at com.sun.javafx.application.PlatformImpl.lambda $ runAndWait $ 176(未知来源)at co m.sun.javafx.application.PlatformImpl.lambda为$ null $ 174(来源不明)在java.security.AccessController.doPrivileged(本机方法)在com.sun.javafx.application.PlatformImpl.lambda $ runLater $ 175(来源不明)在com.sun.glass.ui.InvokeLaterDispatcher $ Future.run(来源不明)在com.sun.glass.ui.win.WinApplication._runLoop(本机方法)在com.sun.glass.ui.win.WinApplication.lambda $ java.lang.Thread.run中的$ 149(未知来源)(未知来源)引起:javafx.fxml.FXMLLoader.loadType(未知来源)的java.lang.ClassNotFoundException ... 21更多

现在,这是我正在使用的代码......

package com.test.fxml;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;


    public class Main extends Application {
        @Override
        public void start(Stage primaryStage) {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("/com/test/fxml/ExplorationModuleUI.fxml"));
                Scene scene = new Scene(root,400,400);
                primaryStage.setScene(scene);
                primaryStage.show();
            } catch(Exception e) {
                e.printStackTrace();
            }
        }

这是我的FXML文件,名为ExplorationModuleUI.fxml ...

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.*?>
<?import javafx.scene.control*?>

<BorderPane xmlns:fx="http://javafx.com/fxml/1">
    <TOP>
        <HBox>
            <Button text = "test"/>
        </HBox>
    </TOP>
</BorderPane>

最后,这里是关于文件夹的内容 .

I can't post images yet so here's a link to one instead

任何帮助是极大的赞赏 . 老实说,即使在今晚挖掘了几个小时之后,我也无法弄清楚为什么它不起作用 . 我已经尝试过我在这里和谷歌搜索中找到的其他解决方案,但还没有任何工作 . 如果您有任何问题请随时提出,我会尽快回复您 .

1 回答

  • 0

    首先,你的第二个导入是在控件和*之间缺少一个点,它应该是 import javafx.scene.control.*

    其次,TOP不是fxml的有效元素,而是使用top(全部小写) .

相关问题