並べ替えてDefaultListModel
コンテンツ変更イベントを発生させたいのですが、行き詰まっていて、fireContentsChangedメソッドを呼び出す方法がわかりません。モデルが拡張された場合AbstractListModel
、並べ替え後にfireContentsChangedを直接呼び出すことができますが、DefaultListModelを使用してクラスを実行した方法では、アクセスが保護されているため、fireContentsChangedを呼び出すことができません。拡張する必要がありますか、それともfireContentsChangedAbstractListModel
を呼び出す方法がありますか?DefaultListModel
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());
}
}