JComboBox自动完成(查找、匹配、填充)功能实现、类似Google建议

此功能的需求由来已久,网上流传着几个版本,先参考一下。

1)继承JComboBox,获得JComboBox的输入框(JTextField),监听输入框事件,筛选并弹出选项,具体代码在这。思路很好,但其实现有不人性化地方:只能匹配以输入单词开始的选择(稍微修改即可)、需要继承,这在NetBeans中添加组件不方便。

2)这个,思路同上。将功能封装成新的类,有自动填充、当没把匹配的单词放在最前面,这样不利于同类单词的选择。不能匹配全词。

我按照自己的需要也写了一个,思路都一样,其实只要稍微修改一下上面两个作品就能做到。功能:

  • 全词匹配,仅列出匹配成功的选项,以输入值开头的选择排在前面,忽略大小写
  • 直接修改JComboBox,不用继承,直接在NetBeans的组件中修改,这样就可以使用NetBeans方便的GUI排版功能

用Vector存放待筛选的选项,当输入时,调用match函数将满足条件的添加进JComboBox。具体代码见附件下载,用NetBeans打开该项目。极力推荐使用NetBeans。

2009-12-17 11-14-53.png

2009-12-17 11-15-25.png

这里下载源代码,里面有很详细的注释。

转载请注明:来自pugWoo's Life
本文地址:http://www.pugwoo.com/2009/12/17/jcombobox-auto-complete.html



3 条评论

我要留言