Como capturar teclas de numero no evento KeyPressed?

gostaria de saber um jeito mais facil de capturar teclas numéricas no método keypressed.
O que eu consigo fazer é assim:

if(evento.getKeyCode()=KeyEvent.VK_1|| evento.getKeyCode()=KeyEvent.VK_NUMPAD1|| evento.getKeyCode()=KeyEvent.VK_2|| evento.getKeyCode()=KeyEvent.VK_NUMPAD2|| ... )
Prém assim teria que fazer 20 condições, 10 pras teclas do teclado numerico e mais 10 pras teclas que ficam de cima das letras…
Tem como fazer pra pegar teclas APENAS NUMÉRICAS, por exemplo um KeyEvent.NumericKey, algo assim?

Olá!

Se for web, pode ser por javascript.


<!-- Adicione no evento onKeyPress a função criada abaixo -->
<input type="text" onkeypress="return validaTecla('0123456789', event);" />

<!-- Crie a função validaTecla -->
<script  type="text/javascript">

function validaTecla(valores, event) { 
	var BCK=8, //backspace 
    ETR=13, //return 
    DEL=127, //delete 

    key,tecla; 
	
	//Firefox
    //tecla=event.which; 
    //I.E
	tecla=event.keyCode; 
    
    key=String.fromCharCode(tecla); 

    switch(tecla) { 

        case ETR: 
        case BCK: 
        case DEL: 
            return true; 
        default: 
            if(valores.indexOf(key)!=-1) { 
				return true; 
            } 
     } 
    return false; 
}

</script>

O que exatamente você quer fazer? Se for uma calculadora, ou mesmo um game, o evento não vai te ajudar.

O ideal é usar o InputMap e KeyMap, como descrito aqui:

tenho uma jtable que eu adicionei o keypressed e quando o cara digita um numero o foco vai pra um jtextfield de numero, se o cara digita a tecla “a” ele abre um determinado jframe, etc. tenho varias funções que são acessadas a partir da tecla pressionada quando o foco ta na jtable…