我使用此代码更改了第一个屏幕上的场景。
操作按钮gotoScene2:
Node node=(Node) evento.getSource();
Stage stage=(Stage) node.getScene().getWindow();
Parent root = FXMLLoader.load(getClass().getResource("MY_SCENE_2.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
所以代码工作正常。现在,我在控制器中对应MY_SCENE_2,我需要从代码中添加一个日期选择器,而不是使用SceneBuilder或类似的东西。
如何在当前场景(MY_SCENE_2)中添加日期选择器(我的意思是它可以是textfield或其他)?
这是我的代码:
final DatePicker datePicker = new DatePicker(LocalDate.now());
datePicker.setOnAction(event -> {
LocalDate date = datePicker.getValue();
System.out.println("Selected date: " + date);
});
stage.setScene(
new Scene(datePicker)
);
stage.show();
我需要stage
值才能成功?我怎么能这样做?
答案 0 :(得分:0)
只需将您要添加DatePicker的窗格注入控制器,然后将DatePicker添加到控制台中。
@FXML
private VBox somePane ; // can be any kind of Pane, fx:id in fxml matches variable name
// ...
// in some handler method (or initialize):
final DatePicker datePicker = new DatePicker(LocalDate.now());
datePicker.setOnAction(...);
somePane.getChildren().add(datePicker);