Cos’è una buona libreria di Java, simile a curses, per le applicazioni terminali?

Mi piacerebbe scrivere un’applicazione terminale Java che manipoli la schermata. Ci sono delle buone librerie là fuori che ti permettono di manipolare lo schermo come maledizioni nel mondo * nix / C?

Le caratteristiche minime che sto cercando sono il windowing e il supporto per l’input dell’utente.

In feature-talk, mi piacerebbe avere una regione del terminale in cui alcuni dati vengono regolarmente aggiornati mentre (allo stesso tempo) l’utente può inserire comandi / testo in qualche altra parte dello schermo.

C’è Charva , che si collega al codice nativo ma ha un’API basata su Swing. Gli screenshot mostrano molte windows di testo, quindi sembra utile.

Ho trovato la libreria lanterna di recente. Non ho ancora avuto l’opportunità di usarlo ma sembra un’alternativa più aggiornata agli altri.

Non l’ho usato da solo, ma Java Curses Library suona come quello che vuoi.

Ecco un modo per chiamare la lib di ncurses usando JNI. Ho provato questo e funziona.

A partire dal 2013, il più vicino che riesco a trovare è Blacken .

Blacken non è una biblioteca maledetta per se. Si allontana dal terminale e invece esegue il rendering della propria “finestra della console”. Questo ha lo svantaggio di non sembrare “simile a una console”. Invece, ottieni un supporto colore completo (arbitrario) e un’API simile a quella di curses (oltre alla loro API principale).

Puoi anche impostare il carattere su Mono per caratteri a larghezza fissa.