我想对我的进行排序DefaultListModel
并让它触发内容更改事件,但我坚持使用它,并且不明白如何调用它的 fireContentsChanged 方法。我看到如果我的模型扩展,AbstractListModel
我可以在排序后直接调用 fireContentsChanged,但是在我使用 DefaultListModel 上课的方式中,我不能调用它的 fireContentsChanged,因为它具有受保护的访问权限。我必须扩展AbstractListModel
还是有办法调用DefaultListModel
fireContentsChanged ?
public class DefaultDataModel implements DataModel
{
private DefaultListModel<Data> dataModel = new DefaultListModel<>();
@Override
public void addElement(Data data) {
dataModel.addElement(data);
}
@Override
public int getSize() {
return dataModel.getSize();
}
@Override
public Data getElementAt(int idx) {
return dataModel.getElementAt(idx);
}
@Override
public void addListDataListener(ListDataListener l) {
dataModel.addListDataListener(l);
}
@Override
public int indexOf(Data data) {
return dataModel.indexOf(data);
}
@Override
public List<Data> getAllData() {
return Collections.list(dataModel.elements());
}
@Override
public void sort() {
Collections.sort(getAllData());
}
}