realizacja „system (pause)” w javie

0

Hej,
Szukałem długo na forum - nie znalazłem.

Jak w javie zrealizować oczekiwanie na dowolny klawisz ze strony użytkownika?
Umiem zrobić oczekiwanie ileś czasu ale nie do akcji użytkownika.
Proszę o wskazówki.

0

Nie da się prostym sposobem uzyskać w Javie niebuforowanego stdio. Możesz jedynie oczekiwać na enter (zwykły System.in.read());

0

Można się babrać w JNI:

public class JSystem {
    static {
        System.loadLibrary("JSystem");
    }

    public static native void system(String command);

    private JSystem() {}
}
#include <stdlib.h>
#include "JSystem.h"

JNIEXPORT void JNICALL Java_JSystem_system
  (JNIEnv *env, jclass clazz, jstring jcommand)
{
    const char* command = (*env)->GetStringUTFChars(env, jcommand, NULL);
    system(command);
    (*env)->ReleaseStringUTFChars(env, jcommand, command);
}

Ze statycznym importem mamy dokładnie wersję z C:

system("pause");

Ale nie polecam. Najlepiej po prostu oczekiwać entera (a nie dowolnego klawisza).

0
try { System.in.read(); } catch (IOException ex) { }

0 użytkowników online, w tym zalogowanych: 0, gości: 0