我有两个场景。第一个场景使用以下代码调用第二个场景。
@FXML
private void confirmation(ActionEvent event) throws IOException{
Stage confirmation_stage;
Parent confirmation;
confirmation_stage=new Stage();
confirmation=FXMLLoader.load(getClass().getResource("Confirmation.fxml"));
confirmation_stage.setScene(new Scene(confirmation));
confirmation_stage.initOwner(generate_button.getScene().getWindow());
confirmation_stage.show();
}
在“ Confirmation.fxml”中有一个名为“继续”的标签。
我需要从此函数中更改该标签的内容并返回结果(真/假)。救命?
最佳答案
为FXML创建ConfirmationController
。从控制器中公开一个方法,该方法允许您传递数据(字符串)以设置为标签。
public class ConfirmationController implements Initializable {
...
@FXML
private Label proceed;
...
public void setTextToLabel (String text) {
proceed.setText(text);
}
...
}
在加载FXML的方法中,可以具有:
...
FXMLLoader loader = new FXMLLoader(getClass().getResource("Confirmation.fxml"));
confirmation = loader.load();
ConfirmationController controller = (ConfirmationController)loader.getController();
controller.setTextToLabel("Your Text"); // Call the method we wrote before
...