Olá pessoal, sou novato no fórum e também no java, por isso, desde já peço desculpas se criei o tópico no lugar errado, ou fiz alguma coisa que não seja conforme manda a regra. Eu procurei nos exemplos em muitos tópicos a resposta mais não encontrei… por isso vou colocar aki!
O problema é o seguinte… como bom estudante, resolvi treinar desenvolvendo a clássica calculadora. Até então tudo bem, adicionei todas as funcionalidades básicas, tudo ok. O problema realmente começou quando eu tive a ideia e acionar os botões da calculadora através do teclado. Estudei bastante sobre KeyListener, implementei todos os métodos, mais não estava funcionando.
Então neste mesmo fórum, encontrei um tópico muito interessante que explica como utilizar o ActionMap e o ImputMap, que funcionou maravilhosamente bem… mas…
como teimoso que sou, voltei para o KeyListener, querendo agora que ao pressionar uma tecla no teclado, por exemplo o número 1, a tecla referente ao número 1 na calculadora mude a cor do fundo… através da propriedade setBackground()… Ok, não é complicado tbm… porém eu não consigo fazer o keylistener funcionar… não entendo pq não funciona… com o frame vazio, eu consigo utilizar o keylistener… mais com todos os componentes adicionados… eu não consigo… alguem saberia me explicar pq??
segue o código… eu coloquei apenas oq acho relevante… caso precise, eu coloco o resto… eu não adicionei tbm a funcionalidade para alterar a cor do fundo… eu queria apenas fazer funcionarrr primeiramente… seu eu conseguir apertar a tecla e a aparecer a msg… o resto ta fácil!
public CalcForm()
{
super( "Calculadora" );
initComponents();
addKeyListener( this );
}
private void initComponents()
{
setContentPane( getPnlPrincipal() );
setJMenuBar( getMenu() );
acoesDoMenu();
acoesDoTecladoVirtual();
acoesDoTeclado( getPnlPrincipal() );
}
public void keyPressed(KeyEvent evt)
{
JOptionPane.showMessageDialog( null, "Você pressionou a tecla: " + KeyEvent.getKeyText( evt.getKeyCode() ) );
}
public void keyReleased(KeyEvent evt)
{
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent evt)
{
// TODO Auto-generated method stub
}
Desde já muito obrigado!!!