0%
javaFx-属性绑定
前言
javafx.beans.property包提供了丰富的Property类用于对java对象中的属性和javaFX UI控件进行绑定,可达到:
- 在任意位置修改java对象的值时可实时更新绑定的UI控件的显示,无需手动编写更新方法
- javaFX UI控件进行变化时(如用户输入内容),实时写入对应的java对象中,无需手动设置
java属性 | javaFx对应Property | 绑定构建类 |
---|---|---|
int | IntegerProperty | JavaBeanIntegerPropertyBuilder |
Integer | ObjectProperty<Integer> | JavaBeanObjectPropertyBuilder |
long | LongProperty | JavaBeanLongPropertyBuilder |
Long | ObjectProperty<Long> | JavaBeanObjectPropertyBuilder |
String | StringProperty | JavaBeanStringPropertyBuilder |
… | … | … |
需要注意的是,如果java对象中的属性为基本数据类型的包装类,则不能直接使用对应的Property,需使用ObjectProperty
, 否则在属性值为null时会报空指针异常(原因是其内部都是使用基本数据类型转换的,感兴趣可以看看源码中的实现)
java设计模式-单例模式
java设计模式-解释器模式
java设计模式-中介者模式
前言
中介者模式(Mediator): 用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
中介模式是通过引入一个中介对象,把多边关系变成多个双边关系,从而简化系统组件的交互耦合度。
中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。
Mediator模式经常用在有众多交互组件的UI上。为了简化UI程序,MVC模式以及MVVM模式都可以看作是Mediator模式的扩展。
各个UI组件互不引用,这样就减少了组件之间的耦合关系;
Mediator用于当一个组件发生状态变化时,根据当前所有组件的状态决定更新某些组件;
如果新增一个UI组件,我们只需要修改Mediator更新状态的逻辑,现有的其他UI组件代码不变。