先看看getKeyLocation的API: public int getKeyLocation () 返回产生此按键事件的键位置。 某些键在键盘上出现多次,如左右 shift 键。另外,某些键则出现在数字键盘上。此方法提供了一种区分这些键的方式。 返回: 被按下或释放的键的位置。 总是为 KEY_TYPED 事件返回 KEY_LOCATION_UNKNOWN。 从你的代码看来,似乎你要用的是 getKeyChar ()方法。修改如下: addKeyListener(new KeyAdapter(){ public void keyTyped(KeyEvent e){ s=new Character((char)(Math.random()*26+'a')).toString(); String ss=String.valueOf(e.getKeyChar());//此处用getKeyChar()方法 if(ss.equalsIgnoreCase(label1.getText())) label1.setText(s); else if(ss.equalsIgnoreCase(label2.getText())) label2.setText(s); } }); 祝你成功。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。