如何让JComboBox有自动查找和完成功能?

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在许多Windows应用程序里面,最常见的是IE的地址栏,当我们在ComboBox的文本框内容时,它的下拉列表中自动列出最匹配的项目,并且将最匹配的项目显示在输入框中。

在Java中有个JComboBox类,它可以实现下拉选择或者输入选择。但是它本身没有提供自动查找和完成功能。我们现在就来 “改装”这个类,使它具有自动查找和完成功能。

改装思路如下:

1. 先继承一个JComboBox类,将其setEditable为true. 这样的话,用户才可以在combobox上输入文字。

2. 我们知道combobox的输入框是一个JTextField, 可以通过comboBox.getEditor().getEditorComponent()取得这个文本框。

3. 为这个文本框加上一个KeyListener.

4. 当用户在文本框中按键时,会解发keyReleased事件,我们在这个事件里写主要的实现自动查找和完成的代码。

思想就是这么简单,而自动查找的算法,任何一个对编程不陌生的人都可以写出。以下我列出完整的程序代码:

全文请看http://www.javagarden.org

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航