/**
* Constructor
*
* @param items 0 or more items
*/
@SafeVarargs
public VertexSelectionModel(T... items) {
this.items = Arrays.copyOf(items, items.length); // use copy for safety
selectedIndices = FXCollections.observableSet();
// setup unmodifiable lists
{
// first setup observable array lists that listen for changes of the selectedIndices set
final ObservableList<Integer> selectedIndicesAsList = FXCollections.observableArrayList();
final ObservableList<T> selectedItems = FXCollections.observableArrayList();
selectedIndices.addListener((SetChangeListener<Integer>) c -> {
if (c.wasAdded()) {
selectedIndicesAsList.add(c.getElementAdded());
selectedItems.add(getItems()[c.getElementAdded()]);
} else if (c.wasRemoved()) {
selectedIndicesAsList.remove(c.getElementRemoved());
selectedItems.remove(getItems()[c.getElementRemoved()]);
}
});
// wrap a unmodifiable observable list around the observable arrays lists
unmodifiableSelectedIndices = FXCollections.unmodifiableObservableList(selectedIndicesAsList);
unmodifiableSelectedItems = FXCollections.unmodifiableObservableList(selectedItems);
}
}
VertexSelectionModel.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:CORNETTO
作者:
评论列表
文章目录