2010-08-02 2 views
1

У меня есть стандартный JTable с определенными данными внутри. Я хотел бы создать функцию автоматической фильтрации: поскольку пользователь вводит в определенное текстовое поле слова, процесс фильтрации запускается автоматически, без необходимости нажатия кнопки. Возможно ли это в Java Swing?автоматическая фильтрация в JTable

ответ

1

Да, это возможно!

Запустите SwingSet3 Demo (от Swinglabs): http://download.java.net/javadesktop/swingset3/SwingSet3.jnlp

В категории данных есть JTable демо список кандидатов и победителей Оскара.

TextField с заголовком «Поиск заголовков и получателей» точно выполняет то, что вы хотите. Демоверсия SwingSet3 даже позволяет вам выделять фрагменты кода через ComboBox-запись «Фильтр поиска установки».

RowFilter в первом фрагменте игнорирует ведущие «The» и «A», чтобы соответствовать другим названиям фильмов. Я хотел бы заменить шаблон RegEx с этим

".*" + filterString + ".*" 

, чтобы получить реальный «найти все, в то время как я типа» пользовательский опыт.

Во втором фрагменте показано, как реализовать DocumentListener, чтобы обновить фильтр таблицы при каждом нажатии клавиши.

-3

Да его возможно. Прочтите API JTable и следуйте ссылке на учебник Swing на тему «Как использовать таблицы», где вы найдете рабочий пример фильтрации, который делает это.

Смежные вопросы