java - JavaFX 启动失败:javafx.fxml.LoadException:
问题描述
我有一个FXMLLoader
看起来经常出现的问题,但尽管我在这里阅读了所有内容,但我无法解决它。这是我的错误代码:
javafx.fxml.LoadException:
/C:/Users/mouna/Desktop/DatabaseProject/databaseProject/bin/main/login.fxml:13
at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:932)
at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:982)
at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:229)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:754)
at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3323)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3280)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3249)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3222)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3199)
at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3192)
at databaseProject/main.Main.start(Main.java:17)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:474)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:447)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:446)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.ClassNotFoundException: LoginController.java
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:930)
... 22 more
人们说这个问题是由于路径文件错误,我尝试尽可能简单地做到这一点:
和我的主要课程代码
package main;
import javafx.fxml.FXML;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.event.ActionEvent;
public class LoginController {
@FXML
private Button exitButton;
public void exitButtonOnAction(ActionEvent event) {
Stage stage = (Stage) exitButton.getScene().getWindow();
stage.close();
}
}
login.fxml 代码
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.text.Font?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="400.0" prefWidth="520.0" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="LoginController.java">
谢谢你,如果你有一个具体的解决方案,因为我已经没有想法了。
解决方案
您发布的这部分堆栈跟踪表明问题原因。
Caused by: java.lang.ClassNotFoundException: LoginController.java
FXMLLoader
正在寻找一个名为java
package的类LoginController
。
更改login.fxml
文件的这一部分
fx:controller="LoginController.java"
对此
fx:controller="main.LoginController"
现在FXMLLoader
将寻找一个名为LoginController
package的类main
。
推荐阅读
- html - 使用 Thymeleaf HTML 在 PDF 的所有页面中的页码和日期时间的页脚
- unity3d - 错误操作碰撞
- html - 尝试以响应方式设置此按钮的样式
- ios - Web Socket Connection - iOS Swift 中的连接被拒绝/失败 - Starscream/RxStarscream
- javascript - React.createElement:类型无效 - Electron-React-Boilerplate
- compiler-construction - 使用实时变量分析计算工作清单
- algorithm - 实现 A* 算法的正确方法是什么?我们是否更新 closedSet 中的节点?
- r - 如何获得每n个值的移动平均值
- amazon-web-services - 带有 aws codeartifact 和 MVN 的 buildspec
- matlab - 图像处理中的信号转换