У меня есть простое текстовое поле. Мне нужно привязать его к статическому экземпляру свойства JotaTime DateTime. JodaTime дает мне много свойств, но я не могу понять решение.JavaFX Текст привязан к свойству JodaTime DateTime
Все, что мне нужно от DateTime фактическое время, поэтому я предполагаю, что-то вроде:
Text clock = new Text();
clock.textProperty().bind(AppController.getSimulationClock().toLocalTime().toString());
Но все же, toLocalTime()
возвращает строку. Опять же, если я стараюсь:
Text clock = new Text();
clock.textProperty().bind(AppController.getSimulationClock().dayOfMonth());
Будучи dayOfMonth()
возвращающий фактической собственности, она до сих пор не работает. Только для записи AppController.getSimulationClock()
просто возвращает нормальный неизменный объект DateTime JodaTime.
Netbeans дает мне это объяснение:
фактический аргумент org.joda.time.DateTime.Property не может быть преобразован в ObservableValue с помощью вызова метода преобразования , где Т представляет собой тип переменной: Т расширяет объект объявлен в интерфейсе javafx.beans.property.Property
Любые идеи?
Как по-другому? Просто нужно, чтобы текст менялся всякий раз, когда менялся объект DateTime ... Любые идеи? – eduardev
Попробуйте вызвать clock.textProperty(). Bind (новый javafx.beans.property.ReadOnlyStringWrapper (AppController.getSimulationClock(). DayOfMonth(), "AsText")); Свойством bean AsText является DateTime.Property.getAsText() из org.joda.time.field.AbstractReadableInstantFieldProperty. –
Подождите, изменения вашего объекта DateTime не будут отображаться автоматически, поэтому это бесполезно. Может быть, вы можете сигнализировать JavaFX каждый раз, когда вы меняете объект DateTime, чтобы повторно присвоить значение. –