Java 当我开始在文本字段中键入时,如何制作自动完成列表?

Java 当我开始在文本字段中键入时,如何制作自动完成列表?,java,swing,autocomplete,intellij-idea,jtextfield,Java,Swing,Autocomplete,Intellij Idea,Jtextfield,我有一个文本字段,如果我想在该字段中写入一些内容,它将显示与该字母相关的可能选项列表,我认为这称为自动完成 有人能给我一个如何做的想法或样品吗 谢谢 我觉得很慷慨,因为你真的应该用谷歌 当用户键入时,您需要使用“%”之类的查询数据库,并将结果返回到下拉列表中。您可能希望等待用户输入的暂停,以免影响数据库 在没有数据库的情况下,一种适合这种情况的数据结构被称为Trie,因为你可以遍历它通过最初的输入并显示所有后续的单词。我感觉很慷慨,因为你真的应该用谷歌搜索 当用户键入时,您需要使用“%”之类的查

我有一个文本字段,如果我想在该字段中写入一些内容,它将显示与该字母相关的可能选项列表,我认为这称为自动完成

有人能给我一个如何做的想法或样品吗


谢谢

我觉得很慷慨,因为你真的应该用谷歌

当用户键入时,您需要使用“%”之类的
查询数据库,并将结果返回到下拉列表中。您可能希望等待用户输入的暂停,以免影响数据库


在没有数据库的情况下,一种适合这种情况的数据结构被称为
Trie
,因为你可以遍历它通过最初的输入并显示所有后续的单词。

我感觉很慷慨,因为你真的应该用谷歌搜索

当用户键入时,您需要使用“%”
之类的
查询数据库,并将结果返回到下拉列表中。您可能希望等待用户输入的暂停,以免影响数据库


在没有数据库的情况下,一种适用于此的数据结构被称为
Trie
,因为您可以遍历它通过初始输入并显示所有后续的单词。

使用组合框并侦听文本字段中的所有更改。在每个事件中,阅读实际内容并查询源列表以查找可能的匹配项。然后使用结果填充关联列表


用户输入两个或三个字母后,您可能需要启动自动补全功能,否则列表可能会变得太长。

使用组合框,并收听文本字段中的所有更改。在每个事件中,阅读实际内容并查询源列表以查找可能的匹配项。然后使用结果填充关联列表



用户输入两个或三个字母后,您可能希望启动自动补全功能,否则列表可能会过长。

查找是
AutoCompleteComboBox/JFextField
,有两个类,一个用于,第二个用于,请注意,自动完成功能需要两个类来实现该功能,而外观是自动完成ComboBox/JFextField,有两个类,一个用于,另一个用于,请注意,自动完成功能需要两个类来实现该功能,您想在哪里实现它?在HTML或QT或任何其他GUI模式下。没有这一点,很难回答这个问题question@Koran-问题被标记为(普通)java,因此我希望GUI中有AWT/Swingonly。稍后我会使用数据库中的单词,因为我正在制作一个翻译程序。什么GUI?即使在java中,它在eclipse和swing中也有SWT。不一样。如果是swing,它应该标记swing而不是intellij-idea。您想在哪里实现它?在HTML或QT或任何其他GUI模式下。没有这一点,很难回答这个问题question@Koran-问题被标记为(普通)java,因此我希望GUI中有AWT/Swingonly。稍后我会使用数据库中的单词,因为我正在制作一个翻译程序。什么GUI?即使在java中,它在eclipse和swing中也有SWT。不一样。如果是swing,它应该标记swing而不是intellij-idea。如果我使用Jlist而不是组合框,可以吗?我还需要使用JPopupMenu吗?当然,如果您接受将文本字段与建议列表分开。但通常这是在一个小部件内完成的:您键入一些内容,建议就出现在您的片段下方。-(2) ,不,使用JComboBox,您不需要弹出菜单。是的。。你说的都是我真正需要的,你知道如何把建议列表放在文本字段下面吗?我的意思是,当我在文本字段中键入内容时,我是否必须使用其他窗口,或者只是做一些x,y坐标,以便显示在文本字段的正下方?已经提供了textfield和list的组合。这就是为什么它被称为组合框。啊。。好的,我明白。。这对我帮助很大,谢谢你的帮助如果我使用Jlist而不是组合框,可以吗?我还需要使用JPopupMenu吗?当然,如果您接受将文本字段与建议列表分开。但通常这是在一个小部件内完成的:您键入一些内容,建议就出现在您的片段下方。-(2) ,不,使用JComboBox,您不需要弹出菜单。是的。。你说的都是我真正需要的,你知道如何把建议列表放在文本字段下面吗?我的意思是,当我在文本字段中键入内容时,我是否必须使用其他窗口,或者只是做一些x,y坐标,以便显示在文本字段的正下方?已经提供了textfield和list的组合。这就是为什么它被称为组合框。啊。。好的,我明白。。这对我帮助很大,谢谢你的帮助谢谢,但我只使用GUI。当我在文本字段中键入内容时,建议列表将显示在文本字段的正下方。建议列表将来自我的数据库,但在此期间,在将其应用于数据库之前,我可以尝试使用一个数组字符串。你能帮我一下吗?或者你对这个有什么想法吗?谢谢…同样的事。。。当用户键入(keyevents)时,您必须从文本字段捕获输入,并搜索您正在使用的任何数据源以进行匹配。使用数组是昂贵的,因为您的性能是O(n*m)(因为您必须搜索数组中的每个字符串),但是对于测试它来说是很好的。是的。。我已经尝试了一些单元测试,现在我想在GUI中尝试。这很难,这就是为什么我要问这类问题。好吧,我试试你说的。tnx…;-)谢谢,但我只使用GUI。当我在文本字段中键入内容时,建议列表将显示在文本字段的正下方。建议列表将来自我的数据库,但在此期间,在将其应用于数据库之前,我可以尝试使用一个数组字符串。你能帮我一下吗?或者你对这个有什么想法吗?谢谢…同样的事。。。当用户键入(keyevents)时,您必须从textfield捕获输入