JComboBox组件添加KeyListner
FuqiangWang
2014年从msn space存档中重新恢复出来!
徐敬琪提出的这个问题,呵呵,以前没有注意到,就是为JComboBox组件添加KeyListner不起作用,我按照他说得添加了几乎所有JComboBox所支持的事件监听器都不好用,google了一下才知道,实际上,对于JComboBox设置为可编辑之后,要对他的KeyStroke进行监听,实际上是对他的editor的EditorComponent组件的KeyStroke事件进行监听(还记不记得JComboBox是由几个其他的组件组合而成的那?!事件上,这种情况下是要对JTextField组件上的KeyStroke进行监听),所以,使用类似的代码就可以正确监听到JComboBox上的KeyStroke事件了:
.getEditor().getEditorComponent().addKeyListener(new KeyListener(){
comboPatternpublic void keyPressed(KeyEvent e)
{
//System.out.println("keyPressed";
JTextField jtf = (JTextField)e.getComponent();
if(!(jtf.getText()==null||"".equals(jtf.getText())))
{
.setEnabled(true);
btnFind.setEnabled(true);
btnReplace.setEnabled(true);
btnReplaceAll}
}
public void keyTyped(KeyEvent e)
{
//System.out.println("keyTyped";
}
public void keyReleased(KeyEvent e)
{
//System.out.println("keyReleased";
JTextField jtf = (JTextField)e.getComponent();
if(jtf.getText()==null||"".equals(jtf.getText()))
{
.setEnabled(false);
btnFind.setEnabled(false);
btnReplace.setEnabled(false);
btnReplaceAll}
}
});;
Thanks to Java Comunity Forum!
「为AI疯狂」星球上,扶墙老师正在和朋友们讨论有趣的AI话题,你要不要⼀起来呀?^-^
这里
- 不但有及时新鲜的AI资讯和深度探讨
- 还分享AI工具、产品方法和商业机会
- 更有体系化精品付费内容等着你,加入星球(https://t.zsxq.com/0dI3ZA0sL) 即可免费领取。(加入之后一定记得看置顶消息呀!)

存量的时代,省钱就是赚钱。
在增量的时代,省钱其实是亏钱。
避坑儿是省钱的一种形式,更是真正聪明人的选择!
弯路虽然也是路,但还是能少走就少走,背后都是高昂的试错成本。
订阅「福报」,少踩坑,少走弯路,多走一步,就是不一样的胜率!
