Я смотрю http://docs.oracle.com/javase/8/javafx/api/javafx/beans/property/SimpleObjectProperty.html, и я немного смущен.JavaFX beans против свойств - почему оба?
можно создать SimpleObjectProperty
используя третий конструктор,
SimpleObjectProperty(Object bean, String name, T initialValue)
в Clojure следующим образом: (def sop (SimpleObjectProperty. 5 "mysop" 6))
Это создает SimpleObjectProperty
со значением Bean = 5 (типа java.lang.Long
) и не-Bean значения = 6, также типа (java.lang.Long)
.
Почему существуют два разных значения? Какова цель «Бин» в этом случае? Какой из них я должен использовать? Я пытаюсь инкапсулировать общий объект Clojure, на котором я могу установить Listeners, поэтому я думаю, что это либо это, либо ObjectPropertyBase
, который является одним из элементов иерархии, а также напрямую.
Я медленно поглощал Java, если необходимо, чтобы понять, как использовать JavaFX в Clojure, но это сбивает с толку.
Спасибо! :)
Спасибо, поэтому первый аргумент по существу является родителем компонента в терминах инкапсуляции. – Sonicsmooth
@Sonicsmooth большую часть времени вы просто не заботитесь о «bean» и «name» и можете просто использовать 'new SimpleObjectProperty (initialValue)'. Обратите внимание, что в предположительно полезном случае @James_D упоминания, вам нужно будет сделать две броски, чтобы на самом деле сделать что-нибудь полезное. Мне еще нужно увидеть фактическое полезное использование атрибутов bean и name, кроме показа их в отладочном выходе. –
@ Томас Микула Согласен: я предпочитаю не делиться слушателями вообще. Я сказал: «* может быть * полезно»;). –