JavaFX相对于EJB,对属性Property有很大的改进,在JavaFX中,属性都是对象,例如IntegerProperty,DoubleProperty和StringProperty分别是int,double和String类型的对应属性。当然以上这几种都是抽象的属性类,相对应每个都分别有两个继承类:一个类是可读/写属性,另一个类是包裹只读属性。例如SimpleIntegerProperty和ReadonlyIntegerWrapper分别是IntegerProperty的对应继承类。
具体例子如下:
ReadOnlyIntegerWrapper riw = new ReadOnlyIntegerWrapper(100);
System.out.println("from ReadOnlyIntegerWrapper : " + riw.get());
ReadOnlyIntegerProperty rip = riw.getReadOnlyProperty();
System.out.println("from ReadOnlyIntegerProperty : " + rip.get());
riw.set(200);
System.out.println("change value in ReadOnlyIntegerWrapper");
System.out.println("from ReadOnlyIntegerWrapper : " + riw.get());
System.out.println("from ReadOnlyIntegerProperty : " + rip.get());
结果如下:
from ReadOnlyIntegerWrapper : 100
from ReadOnlyIntegerProperty : 100
change value in ReadOnlyIntegerWrapper
from ReadOnlyIntegerWrapper : 200
from ReadOnlyIntegerProperty : 200