首先,监听键盘相应的控件必须是得到焦点(focus)的状况下才能起做用.
其次,若是你要实现的效果是焦点在任何其余控件上时(好比其余button)回车也能起做用,那么,
这个动做的监听控件就不该该是你的登录button,由于此时你的焦点在其余地方,你的登录button并无焦点,
因此没法得到响应.要在这种状况下使回车键响应,必须将你的监听控件设置在你的panel或fram或更底层的级别上,
这样只要焦点在此控件中任何一个button上,监听动做才能响应, 好比:
Panel p = new Panel();
JButton b1 = new JButton();
JButton b2 = new JButton();
p.add(b1);
p.add(b2);
p.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e){......} });
p.setFocusable(true);//给p提供焦点.这是swing的焦点问题,JFrame 、JComponent、JLabel默认是不能够得到焦点,
并且默认状况下,swing是把焦点分配给容器内能够得到焦点的第一个组件