import javax.swing.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.event.*;
public class TankWar extends JFrame {
JButton bt;
JPanel p;
public TankWar(){
super("TankWar");
p=new JPanel();
bt=new JButton("test");
bt.requestFocus();
bt.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
if(KeyEvent.VK_ESCAPE==e.getKeyCode()){
System.exit(0);
}
}
});
this.add(p);
p.add(bt);
p.setSize(80, 80);
bt.setSize(40, 30);
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TankWar();
}
}
为什么我按 esc不能退出程序呢?
可以了,可是为什么呢?其实我想做一个坦克大战游戏,我给JPanel加了一个监听,用来更改我的坦克位置属性,用一个timer来时刻刷新绘图,可是我的监听器不起作用。我用的keyadapter继承来的,这个大概会是什么问题呢,如果不忙的话我可以发过去源码您看一下
本回答被提问者采纳