У меня есть класс с геттерами/сеттерами для взаимодействия с базовым драйвером устройства. Геттер считывает данные с устройства, а сеттер записывает данные на устройство. Я бы добавил свойство FX к этому классу, чтобы привязываться к элементам управления графическим интерфейсом. Я создаю свойство, используя JavaBeanPropertyBuilder, и это работает. Но значение свойства может быть изменено не только на стороне GUI, но и на стороне устройства, поэтому мне нужно обновить свойства таймером, и я хочу, чтобы сила недействила свойства, чтобы обновить все привязки. Является ли это возможным?Принудительное отклонение свойств JavaFX
UPD с примером кода:
class MyDevice {
public double getSpeed() {
return (double)driver.getParameter("speed");
}
public void setSpeed(double value) {
driver.setParameter("speed", value);
}
private DoubleProperty speed = new JavaBeanDoublePropertyBuilder().bean(this).name("speed").build();
public DoubleProperty speedProperty() {
return speed;
}
}
Теперь я связываю MyDevice::speedProperty
для управления GUI и если значение было изменено на стороне водителя, я хочу что-то вроде speedProperty.invalidate()
, чтобы заставить обрабатывать все зарегистрированные слушатель и обновление привязки. (Я знаю об изменениях на стороне драйвера путем запроса таймера состояния устройства, например, но не всех доступных параметров.)