KeyListener não está funcionando

public class KL implements KeyListener {

 public static void main(String[] args) {
        final JPopupMenu popup = new JPopupMenu();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);

    }

@Override
public void keyPressed(KeyEvent arg0) {
    System.out.println(arg0.getKeyChar());
}

@Override
public void keyReleased(KeyEvent e) {
    System.out.println(e.getKeyChar());

}

@Override
public void keyTyped(KeyEvent e) {
    System.out.println(e.getKeyChar());

}
}

Essa é a minha aula, provavelmente é algo realmente estúpido da minha parte, mas meu KeyListener aqui não está funcionando. Nada aparece no console.