在许多Windows应用程序里面,最常见的是IE的地址栏,当我们在ComboBox的文本框内容时,它的下拉列表中自动列出最匹配的项目,并且将最匹配的项目显示在输入框中。 在Java中有个JComboBox类,它可以实现下拉选择或者输入选择。但是它本身没有提供自动查找和完成功能。我们现在就来 “改装”这个类,使它具有自动查找和完成功能。 改装思路如下: 1. 先继承一个JComboBox类,将其setEditable为true. 这样的话,用户才可以在combobox上输入文字。 2. 我们知道combobox的输入框是一个JTextField, 可以通过comboBox.getEditor().getEditorComponent()取得这个文本框。 3. 为这个文本框加上一个KeyListener. 4. 当用户在文本框中按键时,会解发keyReleased事件,我们在这个事件里写主要的实现自动查找和完成的代码。 思想就是这么简单,而自动查找的算法,任何一个对编程不陌生的人都可以写出。以下我列出完整的程序代码:
全文请看http://www.javagarden.org

|