如何使用java场景生成器从fxml获取值

如何使用java场景生成器从fxml获取值,java,javafx-2,fxml,Java,Javafx 2,Fxml,我是Javafx新手。我正在使用Java场景生成器创建表单。当我保存它时,它会创建一个fxml文件。这是我表格的代码 <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <?impo

我是Javafx新手。我正在使用Java场景生成器创建表单。当我保存它时,它会创建一个fxml文件。这是我表格的代码

<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-    Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0"   xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
<children>
<Label layoutX="118.0" layoutY="95.0" prefWidth="82.0" text="Username" />
<TextField layoutX="200.0" layoutY="95.0" prefWidth="143.0" />
<TextField layoutX="200.0" layoutY="137.0" prefWidth="143.0" />
<Label layoutX="118.0" layoutY="143.0" prefWidth="61.0" text="Password" />
<Button layoutX="244.0" layoutY="190.0" mnemonicParsing="false" text="submit" />
</children>
</AnchorPane>

现在我想得到这些字段的值,这样我就可以把它们放到数据库中。。请任何人帮助我。

在FXML组件中添加一个fx:id=“myWidget”,如

然后添加在FXML中声明的java控制器,并在其中注入注释@FXML的组件

@FXML
private Button myButton;
一旦您在java中获得它,您就可以访问任何属性,对于您的情况,它应该是textInput.getText()

在FXML组件中添加一个fx:id=“myWidget”,如

然后添加在FXML中声明的java控制器,并在其中注入注释@FXML的组件

@FXML
private Button myButton;

一旦您在java中获得它,您就可以访问任何属性,对于您的情况,它应该是textInput.getText()

如果您实际使用的是SceneBuilder,则可以在其中设置所示的
fx:id
。然后选择在构建FXML时将实例化的控制器类(在本例中,我的类是
de.thatsich.bamber.javafx.DisplayPresenter

在该控制器中,您应该有一个
@FXML
字段,该字段与您在
FXML
-文件中提供的
fx:id
名称完全相同。如果您愿意,这些字段可以是私有的

例如:

我有:这个按钮及其onclick操作的对应代码是

DisplayPresenter.java

@FXML private Button nodeButtonAddImage;
@FXML private void onAddImageAction() throws IOException {
...
}

正如您所见,您不需要自己实例化按钮。FXMLLoader将为您执行此操作。

如果您实际使用的是SceneBuilder,则可以在其中设置所示的
fx:id
。然后选择在构建FXML时将实例化的控制器类(在本例中,我的类是
de.thatsich.bamber.javafx.DisplayPresenter

在该控制器中,您应该有一个
@FXML
字段,该字段与您在
FXML
-文件中提供的
fx:id
名称完全相同。如果您愿意,这些字段可以是私有的

例如:

我有:这个按钮及其onclick操作的对应代码是

DisplayPresenter.java

@FXML private Button nodeButtonAddImage;
@FXML private void onAddImageAction() throws IOException {
...
}
正如您所见,您不需要自己实例化按钮。FXMLLoader将为您执行此操作