【问题标题】:JavaFx and ScenesJavaFx 和场景
【发布时间】:2014-04-04 18:17:12
【问题描述】:

我正在使用此代码更改我的第一个屏幕上的场景。

操作按钮 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) 添加日期选择器(我的意思是它可以是文本字段或其他)?

这是我的代码:

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 值才能成功?我该怎么做?

【问题讨论】:

标签: java javafx javafx-8


【解决方案1】:

只需将要添加 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); 

【讨论】:

    猜你喜欢
    • 2020-03-23
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多