如何更改已在 JavaFX 的 .fxml 文件中定义的文本元素的值

How do you change the value of a text element already defined in a .fxml file in JavaFX

目前,我正在制作客户端动漫流媒体(请不要欺负),目前正在学习 JavaFX。我创建了一个静态缩略图,我需要更改静态内容的值。那么,如何更改已在 JavaFX 的 .fxml 文件中定义的文本元素的值?

代码如下,供参考。

videoThumbnail.fxml

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

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

<AnchorPane prefHeight="387.0" prefWidth="243.0" style="-fx-background-color: #000000;" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="test.gui.Controller">
   <children>
      <ImageView fitHeight="266.0" fitWidth="184.0" layoutX="36.0" layoutY="26.0" pickOnBounds="true" preserveRatio="true">
         <image>
            <Image url="@../images/mL0215_1024x1024.png" />
         </image>
      </ImageView>
      <Label layoutX="36.0" layoutY="308.0" style="-fx-background-color: #000000;" text="My Hero Acadamia" textFill="WHITE">
         <font>
            <Font name="System Bold" size="17.0" />
         </font>
      </Label>
   </children>
</AnchorPane>

main.java

    @Override
    public void start(Stage primaryStage) throws Exception {
        try {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/videoThumbnail.fxml"));
            Pane root = (Pane) loader.load();
            Scene scene = new Scene(new Group(root));

            primaryStage.setTitle("test");
            //root.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();

            letterbox(scene, root);
            primaryStage.setFullScreen(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }

Controller.java

package test.gui;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.input.MouseEvent;

public class Controller {
}

正常的过程是在 FXML 中定义 UI 的静态部分(例如将 ImageView 放置到 Pane 上),然后在您的文件中添加动态部分(例如更改 ImageView 内的图像)代码。这就是控制器的用途。