本文源码链接:http://download.csdn.net/detail/cs627565157/7993121
源码使用说明:jdk 1.7及以上,下载的.zip文件直接导入eclipse即可
闲话不多说先上几张效果图:
下面贴上关键代码:
public class AutoCompleteTextField
{
private TextField textField;
private final static int LIST_MAX_SIZE = 6;
private final static int LIST_CELL_HEIGHT = 24;
/** pinyin4j 工具类 用来匹配输入内容 */
private HanyuPinyinOutputFormat pinyinFormat = new HanyuPinyinOutputFormat();
/** 用来存储显示 出来的信息列表 */
private ObservableList<String> showCacheDataList = FXCollections.<String> observableArrayList();
/** 用来存储缓存的信息列表 重写indexOf方法来获取匹配到的数据 */
private List<String> cacheDataList = new ArrayList<String>()
{
private static final long serialVersionUID = 281687373227150590L;
@Override
public int indexOf(Object searchContext)
{
showCacheDataList.clear();
if(null == searchContext || searchContext.toString().equals("")) {
return -1;
}
int size = cacheDataList.size();
for (int i = 0; i < size; i++)
{
char[] charArry = cacheDataList.get(i).toCharArray();
StringBuilder sbPinyin = new StringBuilder();
String indexPinyin = new String();
for (char ch : charArry)
{
// 将搜索内容转换为拼音 方便搜索