从JavaFX开始:无法将JavaFX.scene.control.Label字段application.SceneController.myLabel设置为JavaFX.scene.text.text
我从JavaFX开始 错误发生在我执行我的程序时,在我尝试执行此操作之前,它运行良好,按钮单击工作正常,但那是在我打算让按钮单击更改文本之前从JavaFX开始:无法将JavaFX.scene.control.Label字段application.SceneController.myLabel设置为JavaFX.scene.text.text,java,javafx,Java,Javafx,我从JavaFX开始 错误发生在我执行我的程序时,在我尝试执行此操作之前,它运行良好,按钮单击工作正常,但那是在我打算让按钮单击更改文本之前 <?import javafx.scene.text.*?> <?import javafx.scene.control.*?> <?import java.lang.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.layout.An
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.SceneController">
<children>
<AnchorPane layoutX="-100.0" layoutY="-224.0" prefHeight="572.0" prefWidth="430.0">
<children>
<Button layoutX="205.0" layoutY="253.0" mnemonicParsing="false" onAction="#handleActionButton1" text="Do you want swag?" />
<Text fx:id="myLabel" layoutX="280.0" layoutY="339.0" strokeType="OUTSIDE" strokeWidth="0.0" text="My text will change!" />
</children>
</AnchorPane>
</children>
</AnchorPane>
如上所述,在我有标签之前,它会在控制台上成功输出“Hello World”,但现在它这样做了,但不执行我的Java应用程序,它会给我一个很长的错误:
javafx.fxml.LoadException:
/C:/Users/Neil/development/JavaFX/bin/application/appfxml.fxml:14
at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at application.Main.start(Main.java:15)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(Unknown Source)
at com.sun.javafx.application.LauncherImpl$$Lambda$51/1299755900.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$45/1051754451.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$164(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$47/1698159280.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$46/1775282465.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$141(Unknown Source)
at com.sun.glass.ui.win.WinApplication$$Lambda$37/1109371569.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Can not set javafx.scene.control.Label field application.SceneController.myLabel to javafx.scene.text.Text
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
at java.lang.reflect.Field.set(Unknown Source)
at javafx.fxml.FXMLLoader.injectFields(Unknown Source)
在您的
FXML
中,您定义了一个文本
,在控制器中,您试图将其用作标签
stackTrace(错误)正在用声音大声喊叫:
无法设置javafx.scene.control.Label字段
application.SceneController.myLabel tojavafx.scene.text.text
在控制器中,需要将myLabel
定义更改为
@FXML
private Text myLabel;
@FXML
private Text myLabel;