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

java - 如何禁用JXTable默认搜索 Action ?-LMLPHP

此面板仅查找子字符串。我需要在InputText中找到类似的单词。例如,我写的“ test”结果可能是“ tost”,“ tests”,“ est”,“ tst”等。
如何将这种搜索方法更改为自己的算法?可能吗 ?还是应该禁用默认搜索并创建自己的搜索?

最佳答案

覆盖JXTable#getSearchable方法并返回您自己的自定义Searchable实现。

请注意,默认实现始终返回相同的实例(延迟创建):

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


覆盖该方法时,可能要记住这一点。我不知道总是返回一个新实例会有什么影响。

10-08 13:29