江湖弟兄姊妹,路过的,走过的,仔细瞧一瞧,救助落难的的羊!
代码开发背景:我在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)对于我任何键盘输入没有响应
求救!
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);
}
}