Everything you need to build a full terminal application — not just a menu screen.
A complete component system for building interactive TUIs.
Position widgets without pixel math. Let the layout engine handle it.
Full terminal color support — 16-color, 256-color, and true color RGB.
Render data visualizations in the terminal. No external charting libs.
25+ animated backgrounds and transition effects. Because terminals deserve to be alive.
Render full-color ANSI art files — splash screens, logos, background art. One part of the toolkit, not the whole story.
A character-based sprite system for games, animations, and rich terminal art.
A component model that feels like Swing, not like ncurses.
jterm uses a proper component hierarchy — containers, layout managers, event listeners, focus management. Build complex multi-panel UIs the way you'd build a desktop app, not by manually positioning characters on a grid.
Terminal applications don't have to be static. 25+ animated backgrounds and transition effects ship in the box.
Add the dependency, write a few lines, run it. That's it.
Add jterm to your pom.xml. Published to Maven Central — latest release 0.1.2.
jterm powers real applications — not just demos.
A full-featured SSH/Telnet BBS with message boards, real-time chat, door games, file archives, and mesh networking over LoRa radio. 870+ Java files built on jterm's widget, animation, and screen systems.
The Java ecosystem deserves a terminal UI framework — not just an ANSI escape code wrapper.
No JNI. No native binaries. No platform-specific builds. One JAR works everywhere Java does.
Built for JDK 26. Uses records, sealed interfaces, pattern matching, and var throughout. No legacy cruft.
2,500+ tests. Screen buffers are inspectable. Widgets render to off-screen buffers you can assert against. No terminal required to test.
Screen buffers, text graphics, layout managers, focus management, event listeners, component hierarchy, theming. Everything Swing has — for the terminal.
Zero runtime dependencies. Drop the JAR in and go. Works in standalone apps, server daemons, or embedded devices.
API reference is generated from the source and ships with every build.
Every public class, method, and record is documented. Generate the full API reference locally:
Deep-dive write-ups on the architecture: