今天在写程序的时候遇到了关于KeyAdapter中keyPressed方法和keyTyped两个方法的疑问:
目地:只能写入TextField类型的setport只能写入数字。
setport.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(!(e.getKeyCode()>=KeyEvent.VK_0 && e.getKeyCode()<=KeyEvent.VK_9))
e.consume();
}
//--------------------------------------------------------------------------------------------
setport.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e)
{
if(!(e.getKeyCode()>=KeyEvent.VK_0 && e.getKeyCode()<=KeyEvent.VK_9))
e.consume();
}
为什么只有keyPressed能成功,而改成keyTyped后,就变成称所有的键都无法键入了?
|
|