Javafx - 如何访问 FXML“对象”

Joh*_* E. 1 java javafx

我在 fxml 文件中声明了一些 JavaFX 组件。

框架

以及如何在按下按钮时获取字段(用户名、密码)的值?(执行登录)。

  Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
  stage.setTitle("Login");
  stage.setScene(new Scene(root,400,300));
  stage.show();
Run Code Online (Sandbox Code Playgroud)

或者这是完全错误的方法吗?

我的问题:

  1. 在 fxml 文件中声明所有字段是个好主意吗?
  2. 如何让对象访问值?
  3. 如果是完全错误的方式,怎么办?(我想使用场景构建器)

编辑:https : //hastebin.com/qexipogoma.xml <- 我的 FXML 文件和我的控制器

Lau*_*ter 5

Scene scene = stage.getScene();
Button btn = (Button) scene.lookup("#myBtnID");
TextField txt = (TextField ) scene.lookup("#myTxtID");
Run Code Online (Sandbox Code Playgroud)

您正在寻找:

txt.getText();
Run Code Online (Sandbox Code Playgroud)

btn.setOnAction( lambda here );
Run Code Online (Sandbox Code Playgroud)

文档:

按钮

文本域

编辑:以这种方式声明 ids

<TextField fx:id="myTxtID" ...  />
Run Code Online (Sandbox Code Playgroud)