VertexSelectionModel.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:CORNETTO 作者:
/**
 * 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);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号