如何将值传递给fxml场景

时间:2016-04-16 01:02:47

标签: user-interface methods javafx fxml

我正在制作这个javaFX应用程序,但是在给定的时刻我想从其他类中的方法获取场景中的文本,如何将此值传递给FXML文档中的文本框?< / p>

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

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

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.72" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.crapgames.calourosimulator.views.pcna.intro.Introduction">
   <children>
      <ImageView fx:id="imgClick" fitHeight="600.0" fitWidth="800.0" onMouseClicked="#nextScene" pickOnBounds="true">
         <image>
            <Image url="@../../assets/pnca-monitor-text.png" />
         </image>
      </ImageView>
      <Text fx:id="text1" fill="#f5eded" layoutX="8.0" layoutY="452.0" strokeType="OUTSIDE" strokeWidth="0.0" text="where i want my string variable" wrappingWidth="787.0">
         <font>
            <Font name="Comic Sans MS" size="25.0" />
         </font></Text>
   </children>
</AnchorPane>

1 个答案:

答案 0 :(得分:0)

在控制器类中创建一个方法以接受文本值。如果您愿意,可以使用textProperty的{​​{1}}:

Text

现在你可以做到:

public class Introduction {

    @FXML
    private Text text1 ;

    public StringProperty textProperty() {
        return text1.textProperty();
    }

    public final void setText(String text) {
        textProperty().set(text);
    }

    public final String getText() {
        return textProperty().get();
    }

    // existing code ...

}