Я делаю jTable из разных занятий. В этой таблице есть столбец: «Время». Я хочу отсортировать jTable с помощью пузырьковой сортировки на основе этого столбца.
Например: теперь у меня есть таблица, в которой активность «CALL» составляет 4 часа в неделю, активность «OMG: 7 часов в неделю, а активность« ALLO »составляет 5 часов в неделю. Я хочу отсортировать эту таблицу так, чтобы первая строка будет ЗВОНОК (4 ч / нед), затем второй будет АЛЛО (5 ч / нед), а третьим будет OMG (7 ч / нед).
Как мне это сделать с помощью пузырьковой сортировки?
Посмотрите на эту картинку: https://i.stack.imgur.com/UObeW.png
Я уже получил значения из столбца «Время» в ArrayList:
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
ArrayList list = new ArrayList();
for(int i = 0;i<jTable1.getModel().getRowCount();i++)
{
list.add(jTable1.getModel().getValueAt(i,3));
}
Я знаю, но это задание. Итак, мне нужно отсортировать его с помощью пузырьковой сортировки.
Я умею делать пузырьковую сортировку. Проблема в том, что я не знаю, как реализовать это в таблице: в частности, как поменять местами строки.
Это будет зависеть от TableModel, и в этом случае у вас есть несколько возможных вариантов: 1. Восстановите TableModel с нуля; 2. Используйте предустановленный TableModel, который поддерживает перемещение или замену строк; 3. Напишите свой собственный TableModel, чтобы обеспечить эту поддержку.




Вы знаете, что
JTableимеет встроенную поддержку сортировки?