本文整理匯總了Java中javafx.collections.WeakSetChangeListener類的典型用法代碼示例。如果您正苦於以下問題:Java WeakSetChangeListener類的具體用法?Java WeakSetChangeListener怎麽用?Java WeakSetChangeListener使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
WeakSetChangeListener類屬於javafx.collections包,在下文中一共展示了WeakSetChangeListener類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: ObservableSetBuffering
import javafx.collections.WeakSetChangeListener; //導入依賴的package包/類
/**
* @param newBeanType
* bean type
* @param newPropertyName
* bean property name
* @param newSubject
* property value
*/
public ObservableSetBuffering(final Class<?> newBeanType, final String newPropertyName,
final ObservableSet<E> newSubject)
{
super(FXCollections.observableSet(new HashSet<>(newSubject != null ? newSubject.size() : 0)));
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 WeakSetChangeListener<E>(subjectListener);
subject.addListener(weakSubjectListener);
validate();
}