JavaBeanBooleanPropertyBuilder для «Бобов» без сеттеров - PullRequest
0 голосов
/ 10 мая 2019

Я нашел эту запись для подключения Java Bean в качестве привязки свойства к существующему свойству JavaFX.Привязка должна быть нацелена на логическое свойство:

class MyClass {

    private boolean loaded;

    public boolean isLoaded() {

        return loaded;
    }

    // Value changed internally
}

Для реальных bean-компонентов, то есть bean-компонентов с установщиками, следующее работает как charm.Но у меня проблема в том, что не существует установщика для загруженного свойства, просто потому, что оно установлено внутри, а не должно быть изменяемым для внешних классов.

BooleanProperty loadedProeprty = new JavaBeanBooleanPropertyBuilder()
    .bean(bean)
    .name("loaded")
    .getter("isLoaded")
    .build();

Есть ли способ создать еще свойство для таких "бобов" без установщика?Пока я просто получаю NoSuchMethodException для ожидаемого сеттера MyClass.setLoaded(boolean).

1 Ответ

0 голосов
/ 11 мая 2019

Вместо этого используйте ReadOnlyJavaBeanBooleanPropertyBuilder.

Нормальные свойства в JavaFX всегда доступны для чтения / записи и поэтому требуют установки.Вариант только для чтения создает свойство только для чтения и, следовательно, не требует установки.

...