gpt4 book ai didi

java - JComboBox/JTextField 的每个单词在任何地方自动完成

转载 作者:搜寻专家 更新时间:2023-11-01 03:54:58 25 4
gpt4 key购买 nike

我找到了在 JComboBox 上添加自动完成的不同解决方案,但所有这些解决方案从一开始就通过自动完成工作。我正在寻找类似于 JQueryUI AutoComplete 的解决方案(如果您在文本字段中输入 av,它会弹出 JavaJavaScript)。

例如,如果我有以下项目:

  • “红色”
  • “蓝色”
  • “绿色”

如果我输入 n,我想与 Green 匹配,因为它包含一个 n

这是我之前测试过的解决方案,它只从一开始就匹配:

  • AutoCompleteDecorator.decorate(comboBox) 来自 SwingX
  • AutoCompleteSupport.install(comboBox,GlazedLists.eventListOf(元素));来自 GlazedLists
  • jautocomp 来自 jautocomp
  • Java2sAutoComboBox.java

上面所有的解决方案都是从一开始就匹配的(都使用了startWith方法),这不是我要找的。

你知道其他类似于 JQueryUI 实现的解决方案吗?

最佳答案

您可以通过向它们提供子字符串而不是完整字符串来使用上述方法:

1. check against the full string
2. check against the substring starting at position 1
...
n. check against the substring starting at position `n-1`

受限于完整字符串的长度

因此,对于您的示例,您将执行以下操作:

  1. Does "Green" match "n" in the beginning? No -> next position
  2. Does "reen" match "n" in the beginning? No -> next position
  3. Does "een" match "n" in the beginning? No -> next position
  4. Does "en" match "n" in the beginning? No -> next position
  5. Does "n" match "n" in the beginning? Yes -> select the full word ("Green") as match

关于java - JComboBox/JTextField 的每个单词在任何地方自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com