Как отключить поисковое действие JXTable по умолчанию?

У меня есть JXTable в моем приложении свинг. Когда я нажимаю Ctrl+F на таблице, открывается панель поиска по умолчанию.

Эта панель находит только подстроки. Мне нужно найти похожие слова с моим InputText. Например, я пишу "test", результат может быть "tost", "tests", "est", "tst" и т. Д. Как мне изменить этот метод поиска на мой собственный алгоритм? Является ли это возможным? Или я должен отключить поиск по умолчанию и создать свой собственный?

1 ответ

Решение

Переопределить JXTable#getSearchable метод и вернуть свой собственный Searchable реализация.

Обратите внимание, что реализация по умолчанию всегда возвращает один и тот же экземпляр (лениво созданный):

public Searchable getSearchable() {
    if (searchable == null) {
        searchable = new TableSearchable(this);
    }
    return searchable;
}

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

Другие вопросы по тегам