我是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>
现在我想获取这些字段的值,以便将其放入数据库中..请任何人帮助我。
答案 0 :(得分:2)
如果您实际使用的是SceneBuilder,则可以在here中设置fx:id
。然后选择如果你构建FXML将实例化的Controller类(在本例中我的是de.thatsich.bachelor.javafx.DisplayPresenter
)
在此控制器中,您应该有一个@FXML
字段,其完全与您在fx:id
- 文件中提供的FXML
同名。如果您愿意,这些字段可以是私有的。
例如:
我有this Button:此按钮的相应代码及其onClickAction将为
<强> DisplayPresenter.java 强>
@FXML private Button nodeButtonAddImage;
@FXML private void onAddImageAction() throws IOException {
...
}
正如您所看到的,您不需要自己实例化Button。 FXMLLoader将为您完成此任务。
答案 1 :(得分:1)
在您的FXML组件中添加fx:id =“myWidget”,例如<Button fx:id="myButton" .../>
然后添加一个在FXML中声明的java控制器,并使用注释@FXML注入其中的组件
@FXML
private Button myButton;
一旦你在java中获得它,你可以访问任何属性,对于你的情况它应该是textInput.getText();