Я работаю над простым пользовательским интерфейсом, в котором есть компонент scala.swing.Table. Я хотел бы отсортировать строки таблицы с помощью java.swing.table.TableRowSorter. Класс Table не предоставляет API для использования сортировщика строк, поэтому я попытался установить его непосредственно на одноранговом узле
val table = new Table(height, width) {
import javax.swing.table._
rowHeight = 25
autoResizeMode = Table.AutoResizeMode.NextColumn
showGrid = true
gridColor = new java.awt.Color(150, 150, 150)
model = myModel
peer.setRowSorter(new TableRowSorter(model))
}
Теперь, когда я нажимаю на заголовки столбцов, я получаю маленькие стрелки вверх / вниз, но содержимое таблицы не обновляется с новым порядком сортировки. Если при щелчке по заголовку столбца выбрана строка, выделение перемещается в строку, в которой должна быть выбрана строка, в соответствии с порядком сортировки. Я добавил пользовательские компараторы, которые вызываются, как и ожидалось, поэтому сортировка действительно выполняется, но таблица не обновляется.
Я что-то упустил, чтобы обновить таблицу? Является ли законным доступ к базовому одноранговому объекту JTable?