KeyEvent não funciona

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?

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

Valeu irei pesquisar