如何让esc停止一个方法

时间:2013-06-13 02:39:57

标签: java keyboard keyboard-events

好吧我需要让按钮esc或任何按钮停止循环方法。我看了一遍,但找不到答案。我知道你可以用esc退出JFrame。但只是常规方法呢?任何帮助都会很棒,谢谢!

也许是这样的?

    public class Stop {

    private static boolean loop = true;
    private static int x = 0;

    public static void main(String[] args) throws InterruptedException {

        while (loop == true){

            if (esc not pressed){
                x++;
                System.out.println(x);
            }
            else{
                loop = false;
            }

        }

    }

}

2 个答案:

答案 0 :(得分:1)

您将无法从命令行程序中捕获key pressed events。您需要通过GUI功能执行此操作(例如,通过实现swing KeyListener)。

This似乎证实了这一点。

答案 1 :(得分:1)

Java控制台不提供任何获取单击键的方法。相反,只有在按下回车键后读入输入(即接受字符)。

一种解决方案是创建一个简单的终端风格的Swing应用程序。这样,您可以使用KeyListener来检查键盘事件,或者,如您所说,只需按Esc退出JFrame

或者,您可能想查看Java Curses library,因为我相信它提供了一种用于检测控制台应用程序中特定击键的实现。