如何修复javafx.fxml.LoadException

如何修复javafx.fxml.LoadException,java,javafx,fxml,Java,Javafx,Fxml,我正在看javafx示例代码LoginDemo。我使用了多场景应用程序的代码;我得到了一个javafx.fxml.LoadException。我不知道该怎么办 我的代码是打开一个窗口,有一个按钮,然后单击它在JavaFXTextArea中显示文本 主要内容: 续: fx:controller属性需要控制器类的完全限定类名。由于控制器Cont位于名为Test的包中,因此需要 fx:controller="Test.Cont" 堆栈跟踪确实为您提供了此处所需的所有信息:错误产生的文件和行号: /C

我正在看javafx示例代码LoginDemo。我使用了多场景应用程序的代码;我得到了一个javafx.fxml.LoadException。我不知道该怎么办

我的代码是打开一个窗口,有一个按钮,然后单击它在JavaFXTextArea中显示文本

主要内容:

续:


fx:controller
属性需要控制器类的完全限定类名。由于控制器
Cont
位于名为
Test
的包中,因此需要

fx:controller="Test.Cont"
堆栈跟踪确实为您提供了此处所需的所有信息:错误产生的文件和行号:

/C:/Users/user/workspace%20for%20coding/Javafx Test/bin/Test/Window.fxml:9

以及根本原因:

原因:java.lang.ClassNotFoundException:Cont

i、 e.它找不到名为
Cont
的类(因为它的名称是
Test.Cont


(另一方面,请注意,包名称应全部小写,因此您确实应该调用包
test
,而不是
test

属性
fx:controller
需要控制器类的完全限定类名。由于控制器
Cont
位于名为
Test
的包中,因此需要

fx:controller="Test.Cont"
堆栈跟踪确实为您提供了此处所需的所有信息:错误产生的文件和行号:

/C:/Users/user/workspace%20for%20coding/Javafx Test/bin/Test/Window.fxml:9

以及根本原因:

原因:java.lang.ClassNotFoundException:Cont

i、 e.它找不到名为
Cont
的类(因为它的名称是
Test.Cont


(顺便说一句,请注意包名应该都是小写的,因此您确实应该调用包
test
,而不是
test

感谢它的工作。为什么它们应该是小写的软件包?@user3808013一些自动格式化软件(包括本网站)会错误地格式化您的代码,如果您没有遵循这些标准实践(注意
Test
如何显示,就好像它是上面代码中的类名一样)。感谢它的工作。为什么它们应该是小写的包?@user3808013一些自动格式化软件(包括本网站)会错误地格式化您的代码,如果您没有遵循这些标准实践(注意
Test
如何显示,好像它是上面代码中的一个类名)。不要在这里转储整个类。问题究竟发生在哪里?到目前为止,你做了什么来调试这个问题?不要把整个类都转储到这里。问题究竟发生在哪里?到目前为止,您做了什么来调试这个问题?
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>


<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="Cont">
   <children>
      <TextArea fx:id="Console" prefHeight="365.0" prefWidth="600.0" />
      <Button fx:id="btn" layoutX="274.0" layoutY="374.0" mnemonicParsing="false" text="Button" />
   </children>
</AnchorPane>
javafx.fxml.LoadException: 
/C:/Users/user/workspace%20for%20coding/Javafx-Test/bin/Test/Window.fxml:9

at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
at javafx.fxml.FXMLLoader.access$700(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(Unknown Source)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(Unknown Source)
at javafx.fxml.FXMLLoader$Element.processStartElement(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source)
at javafx.fxml.FXMLLoader.processStartElement(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at Test.Main.changeScene(Main.java:49)
at Test.Main.setScene(Main.java:35)
at Test.Main.start(Main.java:25)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(Unknown Source)
at com.sun.javafx.application.LauncherImpl$$Lambda$53/70604542.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$45/186276003.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$48/455370116.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$47/237061348.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/2117255219.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Cont
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 24 more
fx:controller="Test.Cont"