江湖弟兄姊妹,路过的,走过的,仔细瞧一瞧,救助落难的的羊!
代码开发背景:我在JcomboBox实现可编辑并且要求拼音检索物品名称。
思路:
(1)初始化商品检索下拉选择框
private void initSpPyBox() {
....
}(2)实现键盘事件的注册(这步出问题了):
private final JComboBox spPy = new JComboBox(); //商品拼音检索
setupComponet(new JLabel("拼音检索:"), 4, 1, 1, 0, true);
setupComponet(spPy, 5, 1, 140, 0, true);//排版布局
spPy.setEditable(true);
//事件监听器注册
spPy.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
Object obj = evt.getSource(); //VK_ALPHANUMERIC
if (65<= evt.getKeyCode() && evt.getKeyCode()<=90) {
initSpPyBox();------//对于键盘输入a-z的相应调用initSpBox()
}else if(evt.getKeyCode() == 13){
SwingUtil.enterPressesWhenFocused(sellButton);//对于回车的相应,调用相应buttong按钮
} }
});
拦路虎:(2)对于我任何键盘输入没有响应
求救!
代码开发背景:我在JcomboBox实现可编辑并且要求拼音检索物品名称。
思路:
(1)初始化商品检索下拉选择框
private void initSpPyBox() {
....
}(2)实现键盘事件的注册(这步出问题了):
private final JComboBox spPy = new JComboBox(); //商品拼音检索
setupComponet(new JLabel("拼音检索:"), 4, 1, 1, 0, true);
setupComponet(spPy, 5, 1, 140, 0, true);//排版布局
spPy.setEditable(true);
//事件监听器注册
spPy.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
Object obj = evt.getSource(); //VK_ALPHANUMERIC
if (65<= evt.getKeyCode() && evt.getKeyCode()<=90) {
initSpPyBox();------//对于键盘输入a-z的相应调用initSpBox()
}else if(evt.getKeyCode() == 13){
SwingUtil.enterPressesWhenFocused(sellButton);//对于回车的相应,调用相应buttong按钮
} }
});
拦路虎:(2)对于我任何键盘输入没有响应
求救!
解决方案 »
- 请问Java 2 Platform和Standard Edition(J2SE) version 7是包含在JDK里的吗?
- 线程杂么中断不了呢。。。
- JTable初始化时,调用setCellEditor(editor)失败?
- 问一个关于抽象类不能被实例化的问题
- 关于用POI操作Excel的异常
- 怎样在java中实现查看系统(非JVM)的内存(已用?空闲?),cpu使用情况(已用?空闲?).好急呀...
- 为什么RandomAccessFile输出乱码?
- 我配置jb6的时候,Borland Enterprise Server 5.0 installation directory应该设置成什么呀???
- 为什么不能把JMF包打进去???
- 求指教随机抽取字符
- eclipse中错误
- com.sun.javadoc这个包去哪儿能下载?
import java.awt.Container;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;public class testComboBox {
public static void main(String []args){
JFrame frame = new JFrame();
Container cp = frame.getContentPane();
JComboBox spPy = new JComboBox();
spPy.setEditable(true);
spPy.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
if (65 <= evt.getKeyCode() && evt.getKeyCode() <=90) {
System.out.println("222222");
}else if(evt.getKeyCode() == 13){
System.out.println("1111");
}
}
});
cp.add(spPy,BorderLayout.NORTH);
frame.pack();
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;public class testComboBox {
public static void main(String []args){
JFrame frame = new JFrame();
Container cp = frame.getContentPane();
final JComboBox spPy = new JComboBox();
spPy.setEditable(true);
spPy.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent evt) {
if (65 <= evt.getKeyCode() && evt.getKeyCode() <=90) {
System.out.println(((JTextField) spPy.getEditor().getEditorComponent()).getText());
}else if(evt.getKeyCode() == 10){
System.out.println("1111");
}
}
});
cp.add(spPy,BorderLayout.NORTH);
frame.pack();
frame.setVisible(true);
}
}