Ola galera, sou novo aqui no forum e estou com uma duvida em relaçao a eventos de teclado, um simples KeyTyped nao está funcionando não sei porque. Vejam só o código:
public class Teclado implements KeyListener{
public void keyTyped(KeyEvent e){
int key = e.getKeyCode();
if(key == KeyEvent.VK_NUMPAD1){
JOptionPane.showMessageDialog(null, "testando");
}
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
e estou criando um objeto em relação a classe Teclado assim:
Teclado acaoTeclado = new Teclado();
addKeyListener(acaoTeclado);
Simplesmente nao está funcionando, qual seria o erro?
eu fiz com getKeyChar() dae deu certo, só tem um problema, quando acontece um evento de botão, os eventos de teclado nao funcionam mais, oq poderia ser?
Segue abaixo referencia ao código, essas sao subclasses de eventos, o erro pode estar aí então? Alguém me da uma luz?
Tipo é uma calculadora o programa, eu só quero qndo digitar no teclado apareça o numero no JTextField, assim como qndo eu clico nos botoes, só q sem ter q clicar no JTextField pra isso poder funcionar.
Porque se eu nao colocar a chamada la
texto.addKeyListener(acaoTeclado);
Dae nem clicando funciona, essa parte eu nao entendi como que funciona, procurei na net mas tem exemplos simples sem que ocorra eventos de botoes junto.
hmm legal kra, mas acabei fazendo diferente, coloquei um FocusListener q ficou assim:
public class Focus implements FocusListener{
public Focus(){
for(int i=0; i<nomes.length; ++i)
botoes[i].setFocusable(false);
texto.setFocusable(true);
}
public void focusGained(FocusEvent e) {}
public void focusLost(FocusEvent e) {}
}
assim o foco fica no JTextField automaticamente =)