0

好的,我需要使按钮 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;
            }

        }

    }

}
4

2 回答 2

1

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

似乎证实了这一点。

于 2013-06-13T03:02:47.767 回答
1

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

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

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

于 2013-06-13T03:04:44.263 回答