纯java做一个小程序,使用GUI,在text中写入关键字,模糊查找出数据库中对应数据

可以像百度搜索时,输入一个关键字不用点击任何按钮,就可以下拉出对应数据(使用的是GUI组件)
对JComboBox使用了键盘监听,但用鼠标单击得不到选中的值

监听键盘是可以的,自己搜一下keylistener使用,就是简单的事件的使用方式,看个例子就明白了。
但你这样做根本就是在折磨你的数据库,每输一个字都调用查询,做着玩是可以,数据量大了不行的。解决方案就是想baidu一样把你要搜索的表读到内存中做成内存数据库,这能提高几百倍的速度。追问

这样在text中会出现含有关键字的数据列表吗?

追答

所谓的事件监听就是当某一个事件发生的时候调用你事先写好的方法。这里就是监听键盘在text框里输入这个事件。监听到以后就调用你的回调函数,并把参数传进去,你要自己实现回调函数,这个函数的功能就是在数据库里搜索,然后把前几条做成列表供选择。
KeyListener只是实现键盘监听这个部分,后面要怎么做全在你要自己实现的回调函数里。

追问

谢谢,我已经做出键盘监听了,但为什么现在鼠标单击选项得不到我要的text框中的数据只能按回车才能得到

追答

鼠标事件的监听应该用mouselistenser,实现起来和keylistener差不多

追问

但如果我查到的值是唯一的,我按键盘那个键都得不到要取的值

追答

你这个问的太细了,我没看过你的代码是不可能知道具体问题在哪的。我只能提供一个思路,具体解决方法需要你自己去研究。从你的问题描述来看应该是个很简单的代码逻辑问题,自己检查一遍应该就能找出原因了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-09
把你输入的关键字 作为 正则表达式 ; 然后在匹配。
第2个回答  2014-09-09
监听键盘弹起追问

可以详细一点吗,我现在是想在text中输入一个关键词,可以自动列出包含此关键词的数据,最好有部分代码,可以让我学习学习,谢谢

相似回答