2015-07-03 68 views
0

当某个键被按下时,我该如何停止一个循环。我想创建一个平均值计算器,您在输入数字时会给出平均值。输入的数字。但是,当用户输入完所有需要的数字后,我需要停止计数器。循环直到按下一个键Java

+1

你可以发布你的代码吗? – Bun

+0

使用分支语句:中断,继续或返回。更多在这里:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html – Frankie

回答

2

您可以随时收听Java中的KeyEvent

这是一个示例代码,

import java.awt.KeyEventDispatcher; 
import java.awt.KeyboardFocusManager; 
import java.awt.event.KeyEvent; 

public class IsKeyPressed { 
    private static boolean wPressed = false; 
    public static boolean isWPressed() { 
     synchronized (IsKeyPressed.class) { 
      return wPressed; 
     } 
    } 

    public static void main(String[] args) { 
     KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() { 

      @Override 
      public boolean dispatchKeyEvent(KeyEvent ke) { 
       synchronized (IsKeyPressed.class) { 
        switch (ke.getID()) { 
        case KeyEvent.KEY_PRESSED: 
         if (ke.getKeyCode() == KeyEvent.VK_W) { 
          wPressed = true; 
         } 
         break; 

        case KeyEvent.KEY_RELEASED: 
         if (ke.getKeyCode() == KeyEvent.VK_W) { 
          wPressed = false; 
         } 
         break; 
        } 
        return false; 
       } 
      } 
     }); 
    } 
} 

而在你的代码,你可以做到这一点,

if (IsKeyPressed.isWPressed()) { 
    // do something 
} 

可以明显扩展为其它键映射了。

+0

你的问题解决了吗?如果是的话,请考虑接受或投票回答此问题。我花了很多时间写出这个详细的答案来帮助你。 –