" Создание отсортированного компонента JList " говорит, что
Версия 6 Java Platform Standard Edition (Java SE, ранее называлась J2SE) добавит сортировку ивозможности фильтрации для класса * 1006. *. Инженерная группа Java Foundation Classes / Swing (JFC / Swing) добавила класс TableRowSorter
в Java SE 6 для обработки сортировки и фильтрации.Этот класс ведет себя как декоратор в том смысле, что он представляет базовую модель таблицы и добавляет к ней сортировку во время выполнения.Вы создаете объект TableRowSorter
, предоставляя исходную табличную модель в конструкторе.Затем вы вызываете метод таблицы setRowSorter
.После этого объект JTable
будет использовать объект TableRowSorter
, чтобы получить отсортированное представление базовой модели.К сожалению, эта же функция пока недоступна для класса JList
и не будет доступна в следующем выпуске.Но мы можем заимствовать идею декоратора для создания класса SortedListModel
, который добавляет возможности сортировки к любому объекту ListModel
.Примечание. Демонстрационное приложение и код в этой статье применимы ко всем версиям JDK до версии 6.
Кто-нибудь слышал, планируют ли они включить его в Java 7, 8 или 9?Потому что именно так я себя чувствую:
Списки являются подходящими компонентами пользовательского интерфейса для многих приложений, но несортированный список имеет ограниченную полезность .
(выделено мной)