Методы next , getFrom , getTo , getRemoved ... в интерфейсе Изменить класс из javafx.collections.ListChangeListener
объявлены Аннотация. Следующая выдержка из интерфейса.
public interface ListChangeListener<E> {
public abstract static class Change<E>{
public abstract boolean next();
public abstract void reset();
public void Change(ObservableList<E> list){
this.list = list;
}
public abstract int getFrom();
//... some more methods
}
public void onChanged(Change<? extends E> c);
}
Если у меня есть класс для наблюдения за изменениями в наблюдаемом списке
import javafx.beans.Observable;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.util.Callback;
// A class to detect changes in an observable list
public class ChangeQuery {
static IntegerProperty E1;
static IntegerProperty E2;
public static void main(String[] args) {
Callback<IntegerProperty, Observable[]> extractor = (IntegerProperty p) -> {
System.out.println("Extracted :" + p);
return new Observable[] {p};
};
ObservableList<IntegerProperty> list = FXCollections.observableArrayList(extractor);
list.addListener(ChangeQuery::onChanged);
E1 = new SimpleIntegerProperty(11);
E2 = new SimpleIntegerProperty(22);
list.add(E1);
list.add(E2);
E1.set(111);
}
public static void onChanged(ListChangeListener.Change<? extends IntegerProperty> change) {
System.out.println("GetList: " + change.getList());
while (change.next()) {
System.out.println(
"index [" + change.getFrom() + "] to " + "[" + change.getTo() + "]" ); // change.getFrom() implementation
if (change.wasPermutated()) {
System.out.println("Permutated is true");
} else if (change.wasUpdated()) {
System.out.println("Update == true");
} else if (change.wasReplaced()) {
System.out.println("removed and added == true");
} else if (change.wasRemoved()){
System.out.println("removed");
} else if (change.wasAdded()) {
System.out.println("Added");
}
}
}
}
Как, например, реализован метод change.getFrom()
. Я проверил пакет javafx.collection, но не нашел такой реализации или perharps, я что-то пропустил. Заранее спасибо за помощь.