Quote Originariamente inviata da Fire Fox II Visualizza il messaggio
ho bisogno di gestire, tramite bottoni di un JFrame, un player che funziona tramite una semplice finestra terminal...
Esempio: il tasto P avvia il player, il tasto Q lo spegne, il tasto S lo ferma etc... Devo reindirizzare queste funzioni ai tasti della finestra che ho creato...

Cosa non va?
Allora, prima questione importante: quella applicazione "console" richiede input sullo standard-input .... o tramite input diretto a "basso" livello (tramite API specifiche, es. quelle Win32 o le funzioni es. getch() del C)?
Sono due cose ben diverse. Nel primo caso puoi operare da Java, potendo appunto "scrivere" sullo standard-input del processo lanciato. Nel secondo caso NON puoi fare nulla.

Seconda questione: tutto quel codice che hai postato, nel contesto di quale thread lo stai eseguendo?

Terzo aspetto: ammesso che quella applicazione usi gli stream standard, fa dell'output su standard-output? Se sì appunto dovresti leggerlo (come fai con quel while). Immagino che quella applicazione termini solo dopo che hai dato un comando specifico. Quindi che faccia output o no, comunque la applicazione resta in vita per un bel po' di tempo e quindi rimani comunque dentro quel while fino a che termina.
Questo vuol dire che quel tuo codice è "bloccante", tiene impegnato il thread corrente (ti ho chiesto prima del thread, non deve essere il Event Dispatch Thread).