0

我是 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>

在此处输入图像描述 现在我想获取这些字段的值,以便将其放入数据库中。请任何人帮助我。

4

2 回答 2

2

如果您实际使用的是 SceneBuilder,您可以在其中设置这里fx:id显示的内容。然后选择如果您构建 FXML 将被实例化的控制器类(我的是在这个例子中)de.thatsich.bachelor.javafx.DisplayPresenter

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

例如:

我有这个按钮:这个按钮的相应代码及其 onClickAction 将是

DisplayPresenter.java

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

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

于 2013-09-26T19:50:46.247 回答
1

在您的 FXML 组件中添加一个 fx:id="myWidget" ,例如<Button fx:id="myButton" .../>

然后添加一个在 FXML 中声明的 java 控制器,并在其中注入带有注解 @FXML 的组件

@FXML
private Button myButton;

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

于 2013-09-26T09:49:43.817 回答