【发布时间】:2018-04-06 16:34:08
【问题描述】:
我正在尝试在两个不同的属性之间进行绑定。
如何将ObjectProperty<LocalDate> 绑定到StringProperty?
任务类
public class Task {
StringProperty time = new SimpleStringProperty();
ObjectProperty<String> testCase = new SimpleObjectProperty<>();
StringProperty date = new SimpleStringProperty();
public Task(String date, String time, String testCase) {
this.date.set(date);
this.time.set(time);
this.testCase.set(testCase);
}
public String getdate() {
return date.get();
}
public void setDate(String date) {
this.date.set(date);
}
public StringProperty dateProperty() {
return date;
}
}
控制器类
public class Controller implements Initializable {
@FXML
private DatePicker datePicker;
private Task currentTask = new Task();
@Override
public void initialize(URL location, ResourceBundle resources) {
datePicker.valueProperty().bindBidirectional(currentTask.dateProperty());
}
}
【问题讨论】:
-
在
Task中创建date和ObjectProperty<LocalDate>不是更有意义吗? -
我不能,因为需要将我的 Task 类转换为 XML 文件。 XML 编码器不支持 LocalDate @James_D
-
我对 XML 编码器的工作不多,但我很确定有办法做到这一点......
-
您当然可以使用 JAXB 执行此操作:请参阅 stackoverflow.com/q/36156741
-
看来你也可以使用
XMLEncoder:stackoverflow.com/q/41373566
标签: java javafx data-binding datepicker