:ListChangeListener.Change : 어떻게 제대로 업데이트 및 순열 처리 할 수있는 항목 JavaDoc을에서
ObservableList theList = ...;
theList.addListener(new ListChangeListener<Item>() {
public void onChanged(Change<tem> c) {
while (c.next()) {
if (c.wasPermutated()) {
for (int i = c.getFrom(); i < c.getTo(); ++i) {
//permutate
}
} else if (c.wasUpdated()) {
//update item
} else {
for (Item remitem : c.getRemoved()) {
remitem.remove(Outer.this);
}
for (Item additem : c.getAddedSubList()) {
additem.add(Outer.this);
}
}
}
}
});
}
이 추가 및 항목을 제거 정직,하지만 //update item
및 // permutate
에 대한인가?
어떤 항목이 다른 항목에 의해 순열되었는지 어떻게 알 수 있습니까?
업데이트 란 정확히 무엇을 의미합니까? 목록에 동일한 항목을 다시 추가하는 것입니까?
그리고 무엇
for (Item remitem : c.getRemoved()) {
remitem.remove(Outer.this);
}
or (Item additem : c.getAddedSubList()) {
additem.add(Outer.this);
}
에 대한 Outer.this
무엇을 의미합니까?
많은 설명에 감사드립니다! 아우터에 관한 또 하나의 질문입니다. 코드는'Outer.this.remove (remitem)'과'Outer.this.add (additem)'이 아닌 것으로해야합니까? – kerner1000
내 해석에 따르면 더 직관적 인 코드를 제안합니다.아마도 그 생각은 주변 클래스 ('Outer')가 어떤 종류의 리스너이고, 코드는 추가되거나 제거 된 항목에 리스너를 등록/등록 취소하는 것입니다. 문서의 의도가 정확히 무엇인지 확신 할 수 없습니다. –