Input da tastiera Java Stream


Sto scrivendo un programma che prende comandi tramite la console.

Tuttavia, non voglio premere "invio" per inviare quel comando.

Voglio che il codice controlli costantemente ciò che sto inserendo ed esegua il codice quando ho finito.

I comandi arrivano come testo da un programma di riconoscimento vocale, quindi, eliminare la necessità del tratto "invio" è piuttosto importante.

Qualcuno ha qualche idea?

Author: David, 2011-01-27

3 answers

Recentemente sono venuto a conoscenza degli eventi in java e credo che questo ti aiuterebbe. Avresti solo bisogno di associare la stampa del riconoscimento vocale allo schermo con un evento in java e avrebbe un ascoltatore per ascoltare l'evento e quando vede l'evento eseguirà il codice desiderato. Al momento ho aperto un thread in cui sto cercando di ottenere alcuni buoni esempi di questo, forse questo aiuterà.

Java Eventi Domanda

 1
Author: prolink007, 2017-05-23 12:18:41

Ha già risposto qui:

Come leggere un singolo carattere dalla console in Java (mentre l'utente lo digita)?

Nessun modo portatile per farlo, dipende dalla tua piattaforma.

 1
Author: Eric Giguere, 2017-05-23 12:26:57

Non ho lavorato con Java dal college, ma se stai leggendo dalla riga di comando, stai usando System.in.read() o qualcosa di simile. Poiché si tratta di bloccare le chiamate ai metodi, l'applicazione non verrà mai notificata del nuovo input finché non viene premuto INVIO.

Se mi sbaglio, per favore fatemelo sapere.

Probabilmente stai meglio usando un semplice (forse anche nascosto) che può prendere il testo dell'utente e un listener di eventi sull'elemento dell'interfaccia utente che lo legge nel processore di testo dell'applicazione.

 0
Author: Babak Naffas, 2011-01-27 19:09:18