отображать в JTable часть коллекции

Я создал JTable, используя AbstractTableModel, в который я добавил коллекцию объектов (ArrayList). Я хочу иметь возможность искать объекты и возвращать в тот же JTable только те, которые соответствуют условиям (например, имена начинаются с «St»). Теоретически, как я могу это сделать? Должен ли я создавать новые ArrayLists для каждого условия и хранить там эти искомые (и возвращаемые) объекты? Есть ли лучший/более простой способ? Спасибо


person bluesony    schedule 20.12.2013    source источник
comment
вам нужно показать некоторые усилия, например. поиск в сообщении @MadProgrammer, он любит JTable + AbstractTableModel + util.List   -  person mKorbel    schedule 20.12.2013
comment
спасибо mKorbel за уроки!   -  person bluesony    schedule 20.12.2013
comment
рад, если помог вам :-), кстати, в туториале точно описано все, что вы можете найти в сообщениях MadProgrammer, там ничего не пропущено, я предлагаю задать вопросы, но, вероятно, я забыл определить, что новые вопросы, которые встречаются с нашими стандартами здесь, большая удача   -  person mKorbel    schedule 20.12.2013
comment
Это сработало отлично! Спасибо   -  person bluesony    schedule 20.12.2013


Ответы (2)


вот в чем дело, если вы ищете синтаксическую фильтрацию, эта функция уже существует в java как TableRowSorter, которую можно комбинировать с фильтром строк, чтобы установить подсписок и показать его.

person Raouf Mayata    schedule 20.12.2013

Как показано здесь, вы можете получить доступ к Collection в вашей реализации AbstractTableModel. Как показано здесь, вы можете сортировать и фильтровать результаты без изменения исходной структуры данных. Полный пример рассматривается здесь.

person trashgod    schedule 20.12.2013