为了账号安全,请及时绑定邮箱和手机立即绑定

【Java】为什么在按键监听中不能运算?

【Java】为什么在按键监听中不能运算?

Goolnn 2016-07-31 14:02:19
我在看书的时候,发生了键盘监听的代码,于是就自己开始琢磨起来,但是我写着写着突然发现在按键监听中不能运算,代码如下: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个赞

//img1.sycdn.imooc.com//579d98570001cacc10650704.jpg



这样写可以,你把y那块做个处理,让他每次减完在加上初始的sub,因为按照你那个代码写的意思是每次按下w就会在控制台输出y-1,然而你的定义是y=0,y每次的值都是0,不会变,从而每次你按完w键一直都是0-1,所以输出的一直是-1

查看完整回答
1 反对 回复 2016-07-31
  • 1 回答
  • 0 关注
  • 1382 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信