我在看书的时候,发生了键盘监听的代码,于是就自己开始琢磨起来,但是我写着写着突然发现在按键监听中不能运算,代码如下:import java.awt.event.*;import javax.swing.*;import java.awt.*;public class Test{static int x=0;static int y=0;public static void main(String[]args){JFrame 单人游戏=new JFrame("1");单人游戏.getContentPane().setBackground(new Color(0,0,0));单人游戏.setSize(640,480);单人游戏.setLocationRelativeTo(null);单人游戏.setLayout(null);单人游戏.setResizable(false);单人游戏.setVisible(true);单人游戏.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.getKeyCode()==KeyEvent.VK_W){ System.out.println(x+";"+(y-1)); } } });}}此代码的作用是在我按下“W”键时变量“y”就会减一,但是代码的运行结果是我不管按了多少次“W”输出的都是“0;-1”,这究竟是为什么?
1 回答
已采纳
大咪
TA贡献785条经验 获得超332个赞
这样写可以,你把y那块做个处理,让他每次减完在加上初始的sub,因为按照你那个代码写的意思是每次按下w就会在控制台输出y-1,然而你的定义是y=0,y每次的值都是0,不会变,从而每次你按完w键一直都是0-1,所以输出的一直是-1
添加回答
举报
0/150
提交
取消