Java 键侦听器没有反应

Java 键侦听器没有反应,java,swing,keylistener,Java,Swing,Keylistener,我正在尝试使用KeyListener执行某些操作当按下按钮m时,它需要向JPanel添加图像,但它不执行任何操作:/ 我使用: public void keyPressed(KeyEvent e) { if(e.getKeyChar()==('m')){ panel.add(mario); Thread marioS = new AePlayWave("sm64itsamemario.wav"

我正在尝试使用KeyListener执行某些操作当按下按钮m时,它需要向JPanel添加图像,但它不执行任何操作:/

我使用:

        public void keyPressed(KeyEvent e) {
            if(e.getKeyChar()==('m')){
                panel.add(mario);
                Thread marioS = new AePlayWave("sm64itsamemario.wav");
                marioS.start();

            }

        }

    });
编辑:
答案是在尝试调用侦听器之前将焦点设置到面板:)

因此,我添加了一个鼠标侦听器,用于在单击时设置面板的焦点:

panel.addMouseListener( new MouseListener(){

    @Override
    public void mouseClicked(MouseEvent e) {
        panel.requestFocusInWindow();

});

您是否已将其分配给某个组件?您的类是否实现了keyListener?是否添加了println调试语句以查看是否调用了它?添加到其中的组件是否具有焦点?可能存在的副本