如何禁用 JXTable 默认搜索操作?

How to disable JXTable default search action?

我的 swing 应用程序中有一个 JXTable。当我在 table 上按 ctrl+F 时,默认搜索面板打开。

此面板仅查找子字符串。我需要找到与我的 InputText 相似的词。比如我写"test"结果可能是"tost"、"tests"、"est"、"tst"等等。 如何将此搜索方法更改为我自己的算法?可能吗 ?或者我应该禁用默认搜索并创建自己的搜索吗?

覆盖 JXTable#getSearchable 方法和 return 您自己的自定义 Searchable 实现。

请注意,默认实现总是 return 相同的实例(延迟创建):

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

您可能希望在重写该方法时牢记这一点。我不知道总是 return 一个新实例会有什么影响。