Topic: 关于JComboBox的问题? |
Print this page |
1.关于JComboBox的问题? | Copy to clipboard |
Posted by: wxianbao Posted on: 2003-04-26 14:31 如何在JComboBox中输入一个字符串之后按回车键,使得JComboBox 的编辑框中的字符串送到一个变量,即JComboBox如和响应键盘事件? 谢谢拉,在线等待。。。 |
2.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: ibrier Posted on: 2003-04-26 15:04 看看这样.... JComboBox ctrlTest; String text; ctrlTest=new JComboBox(); ctrlTest.setEditor(new BasicComboBoxEditor()); ctrlTest.setEditable(true); ctrlTest.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ text=(String)cbTest.getEditor().getItem(); } }); |
3.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: wxianbao Posted on: 2003-04-26 15:13 我必须要按回车键来触发事件的 上面说的好象不能实现这样的功能吧 |
4.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: ibrier Posted on: 2003-04-26 15:43 对了,这样只需要改变内容就会发生, 那可以这样该动,我试了一下,应该可以。 //定义BasicComboBoxEditor JTextField tfText; BasicComboBoxEditor editor=new BasicComboBoxEditor(); editor.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ tfText.setText((String)cbTest.getEditor().getItem()); } }); 再把这个editor给JComboBox就可以了。 |
5.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: wxianbao Posted on: 2003-04-26 16:06 用KeyListener不行吗?如下: KeyListener kLComboSearch = new KeyListener(){ public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { String nodeName = comboSearch.getText(); searchNode(nodeName);//调用一个函数 } } public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} }; |
6.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: ibrier Posted on: 2003-04-26 16:14 我的理解是:KeyListener是针对JComboBox的, 而你需要的是针对它的编辑器的。 |
7.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: wxianbao Posted on: 2003-04-26 17:15 我是要按下回车键的效果啊 |
8.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: yakuu Posted on: 2003-04-27 14:54 add your code like this: final JComboBox cmb = new JComboBox(); cmb.setEditable(true); cmb.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent evt) { Object obj = evt.getSource(); if (evt.getKeyCode() == KeyEvent.VK_ENTER) { if (cmb.isEditable()) { // add your code here. System.out.println("Enter Key pressed"); } } } }); |
9.Re:关于JComboBox的问题? [Re: wxianbao] | Copy to clipboard |
Posted by: jiangns3000 Posted on: 2003-04-27 16:27 其实前面 ibrier给的代码已是行了。只要设置JComboBox为可编辑。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |