model.setDate(date);
}
private VBox createPopupContent(){
VBox vbox= new VBox(3);
HBox topbuttons = new HBox(3);
final Button now = new Button("now");
now.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
setModelDate(new Date());
}
});
topbuttons.getChildren().add(now);
final Button nowMinus5 = new Button("now - 5 min");
nowMinus5.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MINUTE, -5);
setModelDate(calendar.getTime());
}
});
topbuttons.getChildren().add(nowMinus5);
final Button nullButton = new Button("clear");
nullButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
setModelDate(null);
}
});
topbuttons.getChildren().add(nullButton);
vbox.getChildren().add(topbuttons);
final Label label = new Label();
vbox.getChildren().add(label);
final HBox yearMonthChooser = createYearMonthChooser();
vbox.getChildren().add(yearMonthChooser);
final GridPane gridPane = new GridPane();
vbox.getChildren().add(gridPane);
updateDayInMonthChooser(gridPane);
VBox.setMargin(gridPane, new Insets(3));
final HBox timeChooser = createTimeChooser();
vbox.getChildren().add(timeChooser);
model.addChangeListener(new ChangeListener<Integer>() {
@Override
public void changed(ObservableValue<? extends Integer> observable, Integer oldValue, Integer newValue) {
if (!model.isNull()){
label.setText(dateFormat.format(model.getDate()));
} else {
label.setText("");
}
updateDayInMonthChooser(gridPane);
gridPane.setDisable(model.isNull());
timeChooser.setDisable(model.isNull());
yearMonthChooser.setDisable(model.isNull());
}
});
return vbox;
}