【问题标题】:Read any key to continue Java读取任意键以继续 Java
【发布时间】:2011-09-30 07:01:44
【问题描述】:

如何实现按任意键以在 Java 中继续。在 C 中我使用 getch() 并且它工作正常,但在 Java 中我必须在每个 OutputStream 类中实现的每个读取方法中按 Enter。

提前致谢。

【问题讨论】:

  • 这是控制台还是桌面应用程序?
  • 我看到了这个问题,但我想知道如何在没有 JNI 的情况下做到这一点?这是一个控制台应用程序。

标签: java key


【解决方案1】:

我发现的唯一方法是使用 JNI 和 C。

【讨论】:

    【解决方案2】:

    我找到了一个代码,等效于C的“_getch()”函数

    我已经回答了这个问题Equivalent function to C's "_getch()" in Java?在这里查看我的答案

    或使用代码

    
    
    

    public static void getCh() {
    final JFrame frame = new JFrame();
    synchronized (frame) {
    frame.setUndecorated(true);
    frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
    frame.addKeyListener(new KeyListener() {
    public void keyPressed(KeyEvent e) {
    synchronized (frame) {
    frame.setVisible(false);
    frame.dispose();
    frame.notify();
    }
    }

    public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } }); frame.setVisible(true); try { frame.wait(); } catch (InterruptedException e1) { } } }

    【讨论】:

      【解决方案3】:

      如果您使用的是 windows,则可以使用以下代码。

      new ProcessBuilder("cmd", "/c", "pause").inheritIO().start().waitFor();
      

      并导入以下包。

      import java.io.IOException;
      

      并将主要功能更改为此。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-10
        • 1970-01-01
        • 2013-11-10
        • 2015-01-23
        • 1970-01-01
        • 2011-12-13
        • 2010-11-29
        • 2020-03-14
        相关资源
        最近更新 更多