Necesito implementar una aplicación de consola (posiblemente en Java) con funcionalidad similar a ncurses (como navegar un menú y volver a dibujar toda la pantalla).¿Cuál es la mejor manera de obtener la funcionalidad de interfaces de usuario de texto (ncurses-like) en Java?
Las únicas soluciones que puedo encontrar para hacer esto hasta ahora son Charva ("A Java Windowing Toolkit for Text Terminals"), tuipeer ("A Text User Interface for the Java AWT") y un artículo muy viejo del Dr. Dobb ("A Text UI for the Java AWT ").
Hasta ahora, CHARVA es lo mejor que puedo encontrar pero no me gusta la idea de usar JNI para envolver maldiciones.
¿Hay alguna manera estándar, por ejemplo con AWT/Swing, para hacer esto? ¿Qué otras alternativas hay?
Miré en esto hace un par de años y no encontraron más de lo que tiene. Sospecho que el problema es que la funcionalidad del terminal de bajo nivel es altamente específico de la plataforma - y no sólo a nivel de sistema operativo, pero a nivel de emulador de terminal (VT100, xterm, etc.). No estoy seguro de cómo me gustaría incluso ir sobre cómo tratar con que, sin envolver una API nativa como maldiciones (o termcap/terminfo, por lo menos) que ya se abstrae. Supongo que podría hablar con los caracteres de control sin procesar a 'System.out'. Hablando –
caracteres de control primas a la salida estándar es exactamente como lo hace maldiciones, por lo que es una idea sensata, aunque un trabajo sustancial. – skaffman
¿Qué pasa con JNI? Yo iría con CHARVA, parece completo (ish). –