/**
* @param newBeanType
* bean type
* @param newPropertyName
* bean property name
* @param newSubject
* property value
*/
public ObservableListBuffering(final Class<?> newBeanType, final String newPropertyName,
final ObservableList<E> newSubject)
{
super(FXCollections.observableArrayList());
if (newBeanType != null || !(newSubject instanceof ReadOnlyProperty<?>))
{
beanType = newBeanType;
}
else
{
final Object bean = ((ReadOnlyProperty<?>) newSubject).getBean();
beanType = (bean != null ? bean.getClass() : null);
}
if (newPropertyName != null || !(newSubject instanceof ReadOnlyProperty<?>))
{
propertyName = newPropertyName;
}
else
{
propertyName = ((ReadOnlyProperty<?>) newSubject).getName();
}
subject = Objects.requireNonNull(newSubject);
addAll(subject);
thisListener = c -> {
if (equalsBuffering)
{
buffering.setValue(!equalsSubject());
}
else
{
buffering.setValue(true);
}
validate();
};
subjectListener = c -> {
if (!buffering.getValue())
{
revert();
}
};
addListener(thisListener);
weakSubjectListener = new WeakListChangeListener<E>(subjectListener);
subject.addListener(weakSubjectListener);
validate();
}
ObservableListBuffering.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:reta
作者:
评论列表
文章目录