Ho bisogno di implementare un'applicazione console (possibilmente in Java) con funzionalità tipo ncurses (come la navigazione in un menu e il ridisegno dell'intero schermo).Qual è il modo migliore per ottenere funzionalità di interfaccia utente di testo (tipo ncurses) in Java?
Le uniche soluzioni che riesco a trovare finora sono CHARVA ("A Java Windowing Toolkit for Text Terminals"), tuipeer ("A Text User Interface for the Java AWT") e un vecchio articolo del Dr. Dobb ("A Text UI for the Java AWT ").
Finora, CHARVA è la cosa migliore che riesco a trovare ma non mi piace l'idea che usi JNI per avvolgere maledizioni.
Esiste un modo standard, ad esempio con AWT/Swing, per eseguire questa operazione? Quali altre alternative ci sono?
Ho guardato in questo un paio di anni fa e non ha trovato più di quanto si ha. Sospetto che il problema sia che la funzionalità di terminale di basso livello è altamente specifica per la piattaforma e non solo a livello di sistema operativo ma a livello di emulatore terminale (VT100, xterm, ecc.). Non sono sicuro di come andrei a occuparmene, senza avvolgere un'API nativa come curses (o termcap/terminfo, almeno) che già lo astraggono. Suppongo che potresti parlare di caratteri di controllo grezzi a 'System.out'. –
Parlare di caratteri di controllo non elaborati su stdout è esattamente come maledire, quindi è un'idea sensata, anche se un notevole lavoro. – skaffman
Cosa c'è che non va con JNI? Vorrei andare con CHARVA, sembra completo (ish). –