KeyEvent não funciona

2 respostas
netbeansprogramaçãojava
K

Boa tarde eu criei um KeyEvent.

if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
        txtCargodosColaboradores.requestFocus();
        this.lblID.setText(String.valueOf(BuscaRapidaDepartamento.getIDDep()));
        this.txtBuscaDepartamento.setText(String.valueOf(BuscaRapidaDepartamento.getDescDep()));

    }
    if (evt.getKeyCode() == KeyEvent.VK_TAB) {
        lblID.setText(Integer.toString(IDDep));
        txtBuscaDepartamento.setText(DescDep);
    }
    // Seta P/ baixo
    if (evt.getKeyCode() == 40) {
        txtCargodosColaboradores.requestFocus();
        lblID.setText(Integer.toString(IDDep));
        txtBuscaDepartamento.setText(DescDep);
    }
    if (evt.getKeyCode() == KeyEvent.VK_F3) {
        lblID.requestFocus();
        new BuscaRapidaDepartamento().setVisible(true);
        this.lblID.setText(String.valueOf(BuscaRapidaDepartamento.getIDDep()));
        this.txtBuscaDepartamento.setText(String.valueOf(BuscaRapidaDepartamento.getDescDep()));
    }

Ela funciona corretamente porém o TAB que era para fazer determinada função não funciona, saberiam me dizer o motivo?

2 Respostas

V

Geralmente KeyEvents são a maneira errada de se tratar teclas em janelas. O ideal são usar os KeyBindings, através das classes ActionMap e InputMap. Veja detalhes nesse tópico:

Ou nesse tutorial da própria Oracle:
https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

Há também um exemplo nos códigos do Core Java, capítulo 8:
http://horstmann.com/corejava/corejava7.zip9

K

Valeu irei pesquisar

Criado 13 de janeiro de 2017
Ultima resposta 16 de jan. de 2017
Respostas 2
Participantes 2