java类javafx.collections.ListChangeListener.Change的实例源码

CustomSortedList.java 文件源码 项目:SimpleTaskList 阅读 19 收藏 0 点赞 0 评论 0
private void updateUnsorted(Change<? extends E> c) {
    while (c.next()) {
        if (c.wasPermutated()) {
            Element[] sortedTmp = new Element[sorted.length];
            for (int i = 0; i < size; ++i) {
                if (i >= c.getFrom() && i < c.getTo()) {
                    sortedTmp[c.getPermutation(i)] = sorted[i];
                } else {
                    sortedTmp[i] = sorted[i];
                }
            }
            sorted = sortedTmp;
        }
        if (c.wasRemoved()) {
            final int removedTo = c.getFrom() + c.getRemovedSize();
            System.arraycopy(sorted, removedTo, sorted, c.getFrom(), size - removedTo);
            size -= c.getRemovedSize();
            updateIndices(removedTo, -c.getRemovedSize());
        }
        if (c.wasAdded()) {
            ensureSize(size + c.getAddedSize());
            updateIndices(c.getFrom(), c.getAddedSize());
            System.arraycopy(sorted, c.getFrom(), sorted, c.getTo(), size - c.getFrom());
            size += c.getAddedSize();
            for (int i = c.getFrom(); i < c.getTo(); ++i) {
                sorted[i] = new Element<E>(c.getList().get(i), i);
            }
        }
    }
}
CustomSortedList.java 文件源码 项目:SimpleTaskList 阅读 115 收藏 0 点赞 0 评论 0
private void update(Change<? extends E> c) {
    int[] perm = helper.sort(sorted, 0, size, elementComparator);
    nextPermutation(0, size, perm);
    for (int i = c.getFrom(), to = c.getTo(); i < to; ++i) {
        nextUpdate(findPosition(i, c.getList().get(i)));
    }
}
FXDesktopWindowManager.java 文件源码 项目:JVx.javafx 阅读 17 收藏 0 点赞 0 评论 0
/**
 * Invoked if the list of children in the {@link Pane} changes.
 * 
 * @param pChange the changes.
 */
private void onPaneChildrenListChanged(Change<? extends Node> pChange)
{
    if (!pane.isIgnoreChildrenListEvents())
    {
        updateActiveWindow();
    }
}
PairingView.java 文件源码 项目:Tourney 阅读 19 收藏 0 点赞 0 评论 0
private void onTournamentRoundListChanged(
        Change<? extends TournamentRound> change) {
    if (change.next()) {
        this.refreshBreadcrumbs();
        if (this.loadedTournament != null) {
            this.setSelectedRound(this.loadedTournament.getRounds().size() - 1);
        }
    }
}
UndoManager.java 文件源码 项目:Tourney 阅读 29 收藏 0 点赞 0 评论 0
/**
 * Listener that is being attached to registered lists.
 *
 * @param change
 *            the change that occurred on the list
 */
@SuppressWarnings("unchecked")
private <T> void listChangeListener(Change<? extends T> change) {
    if (!this.isPerformingAction && !this.sleeping) {
        this.addUndoAction(new ListUndoAction<>((Change<T>) change));
    }
}
MappedList.java 文件源码 项目:POL-POM-5 阅读 17 收藏 0 点赞 0 评论 0
protected void update(Change<? extends F> c) {
    int from = c.getFrom();
    int to = c.getTo();

    if (to > from) {
        for (int i = from; i < to; ++i) {
            mappedValues.set(i, mapper.apply(getSource().get(i)));

            nextUpdate(i);
        }
    }
}
MappedList.java 文件源码 项目:POL-POM-5 阅读 18 收藏 0 点赞 0 评论 0
protected void addRemove(Change<? extends F> c) {
    int from = c.getFrom();
    int to = c.getTo();

    for (int index = from + c.getRemovedSize() - 1; index >= from; index--) {
        nextRemove(index, mappedValues.remove(index));
    }

    for (int index = from; index < from + c.getAddedSize(); index++) {
        mappedValues.add(index, mapper.apply(getSource().get(index)));

        nextAdd(index, index + 1);
    }
}
Deck.java 文件源码 项目:logbook-kai 阅读 21 收藏 0 点赞 0 评论 0
/**
 * 艦隊が変更された時のリスナー
 */
private void changeDeckFleet(Change<?> change) {
    this.fleetList.getItems().clear();
    for (Node node : this.fleets.getChildren()) {
        if (node instanceof DeckFleetPane) {
            DeckFleetPane fleet = (DeckFleetPane) node;
            this.fleetList.getItems().add(fleet);
        }
    }
    this.modified.set(true);
}
RfxAppButtonBar.java 文件源码 项目:Introspect-Framework 阅读 16 收藏 0 点赞 0 评论 0
public void onTabsChanged(Change change) {
    if (tabsProperty.size() == 0) {
        selectedTabProperty.set(null);
        updateTabButtons();
    } else if (!change.getList().contains(selectedTabProperty.get())) {
        // TODO selectNewTab(change);
    } else {
        updateTabButtons();
    }
}
RfxWindow.java 文件源码 项目:Introspect-Framework 阅读 29 收藏 0 点赞 0 评论 0
public void onTabsChanged(Change change) {
    if (tabsProperty.size() == 0) {
        selectedTabProperty.set(null);
    } else {
        selectNewTab(change);
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号