java swing 键盘监听按下P键后只让C键生效,其他键无效
public class main extends JFrame implements KeyListener {
public main() {
getContentPane().setLayout(null);
setVisible(true);
this.addKeyListener(this);
}
public static void main(String[] args) {
new main();
}
private boolean T = false;// 当这个变量为true时表示p被按下
@Override
public void keyTyped(KeyEvent e) {
}
// 按下了某个键
public void keyPressed(KeyEvent e) {
// 当p键被按下时
if (T) {
if(e.getKeyCode()==KeyEvent.VK_C){
System.out.println("你按下了C键");
}
} else {// 当P键未被按下时
if (e.getKeyCode() == KeyEvent.VK_P) {
System.out.println("P键被按下");
T = true;
}else{
System.out.println("你按下了"+ e.getKeyChar()+"键");
}
}
}
// 松开了
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_P) {
System.out.println("P键被松开");
T = false;
}
}
}