在 FXML 控制器类中找不到 id 的可注入字段

问题描述 投票:0回答:1

我对 JavaFX 非常陌生,对此一无所知。我一直在观看有关如何使用 scenebuilder 的 YouTube 视频,但不知怎的,当我在这部分时,我无法设置代码,并且出现此消息提示。

这是提示信息:

解决我不断出现的问题

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

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>


<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="820.0" prefWidth="1080.0" style="-fx-background-color: #1D242A;" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="LoginController">
   <children>
      <Pane layoutX="315.0" layoutY="230.0" prefHeight="455.0" prefWidth="450.0" style="-fx-background-color: #2F353A;">
         <children>
            <Button fx:id="LoginBtn" layoutX="34.0" layoutY="397.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="382.0" style="-fx-background-color: #158BF8;" text="Login" textFill="WHITE">
               <font>
                  <Font name="System Bold" size="20.0" />
               </font>
            </Button>
            <Label fx:id="WelcomeBack" layoutX="129.0" layoutY="14.0" text="Welcome Back" textFill="WHITE">
               <font>
                  <Font name="System Bold" size="28.0" />
               </font>
            </Label>
            <Label fx:id="Sign_In" layoutX="197.0" layoutY="54.0" text="Sign In" textFill="#aeaeae">
               <font>
                  <Font name="System Bold" size="17.0" />
               </font>
            </Label>
            <Label fx:id="Password" layoutX="55.0" layoutY="246.0" text="Password" textFill="#aeaeae">
               <font>
                  <Font name="System Bold" size="17.0" />
               </font>
            </Label>
            <PasswordField layoutX="55.0" layoutY="280.0" prefHeight="33.0" prefWidth="339.0" promptText="Enter your password" />
            <TextField fx:id="txt_user" layoutX="55.0" layoutY="181.0" prefHeight="33.0" prefWidth="339.0" promptText="Enter you username" />
            <Label fx:id="Username" layoutX="53.0" layoutY="144.0" text="Username" textFill="#aeaeae">
               <font>
                  <Font name="System Bold" size="17.0" />
               </font>
            </Label>
         </children>
      </Pane>
      <Label fx:id="label_Budo" layoutX="343.0" layoutY="139.0" text="BUDO Enterprise Inc." textFill="WHITE">
         <font>
            <Font name="System Bold" size="40.0" />
         </font>
      </Label>
   </children>
</AnchorPane>

这是控制器:

import java.net.URL;
import java.util.ResourceBundle;
import javafx.application.Application;
import javafx.fxml.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.stage.Stage;

public class LoginController implements Initializable {

    @Override
    public void initialize(URL url, ResourceBundle rb) {



    }

}
java javafx scenebuilder
1个回答
0
投票

您发布的

LoginController
“没有可注入字段……以 id
LoginBtn
命名”。作为@jewelsea 评论
SceneBuilder > View > Show Sample Controller Skeleton
可以产生如下所示的。我将您的“Login.fxml”放置在名为 `temp
package

© www.soinside.com 2019 - 2024. All rights reserved.