A pure Java library for creating text-based GUIs and terminal applications with curses-like functionality.
Lanterna is a Java library for creating text-based graphical user interfaces in terminal environments, similar to the C curses library. It provides tools to build semi-graphical applications that run in xterm-compatible terminals or a bundled Swing emulator, solving the problem of developing terminal UIs without native dependencies. The library supports seamless transition from IDE development to headless server deployment.
Java developers building terminal-based applications, such as system tools, server management interfaces, or console games, who need a portable, dependency-free solution.
Developers choose Lanterna for its pure Java implementation, eliminating native library issues, and its layered architecture that offers flexibility from low-level terminal control to a full GUI toolkit. Its built-in Swing emulator simplifies development in environments lacking ANSI support.
Java library for creating text-based GUIs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
No native dependencies ensure 100% cross-platform compatibility, allowing seamless deployment from IDEs to headless servers without code changes.
Offers three abstraction levels—low-level terminal control, screen buffering, and a GUI toolkit—enabling developers to choose the right complexity for their needs.
Includes a Swing-based terminal emulator for development in IDEs lacking ANSI support, with no modifications required for production terminal deployment.
Features a straightforward modal window system that facilitates rapid UI prototyping for terminal-based applications.
All windows are modal, restricting complex UI flows like overlapping or non-modal dialogs common in desktop applications.
The toolkit includes only fundamental elements such as buttons and labels, lacking advanced widgets like tables, trees, or rich styling options.
With separate JavaDocs for multiple versions and a GitHub-based guide, finding comprehensive, up-to-date documentation can be challenging for newcomers.
The small, incomplete list of projects using Lanterna indicates a limited community, resulting in fewer third-party resources and slower issue resolution.