我尝试使用KeyListener在按下按钮m时执行某些操作,它需要将图像添加到JPanel,但它不会执行任何操作:/
我用:
public void keyPressed(KeyEvent e) {
if(e.getKeyChar()==('m')){
panel.add(mario);
Thread marioS = new AePlayWave("sm64itsamemario.wav");
marioS.start();
}
}
});
编辑:
答案是在尝试调用侦听器之前将焦点设置到面板:)
所以我添加了一个mouselistener,它将焦点设置为点击面板:
panel.addMouseListener( new MouseListener(){
@Override
public void mouseClicked(MouseEvent e) {
panel.requestFocusInWindow();
});