⚡ A blazing fast, dependency-free Text-based User Interface (TUI) toolkit for Java, designed to bring beautiful, responsive, and highly interactive graphical interfaces directly to the terminal.
FastTUI is the high-level interactive user interface layer of the FastJava ecosystem. It discards the blocky aesthetics of the 90s and embraces modern design principles like True-Color gradients, smooth window shadows, and mouse-driven interactions.
To achieve a completely responsive, zero-latency desktop terminal experience, FastTUI is designed to pair natively with the underlying rendering and parsing modules of the FastJava ecosystem:
- ⚡ FastTerminal — Direct, low-latency, hardware-accelerated 24-bit True Color terminal rendering engine.
- ⚡ FastANSI — Relies on FastANSI for byte-native escape sequence scanning.
- ⚡ FastASCII — High-performance, zero-allocation byte processing library.
- ✨ True-Color Aesthetics: Full 24-bit RGB support for all components. Includes high-performance utilities for smooth color gradients and transitions.
- 🖱️ Native Mouse Interaction: Drag, drop, resize, and click with full mouse support.
- 🪟 Window Management: Support for overlapping windows (
Panel) with alpha-blended drop shadows and z-index ordering. - 🧩 Composable Widget System: A rich library of ready-to-use form controls, buttons, and complex widgets.
FastTUI focuses entirely on Component Logic, State, and Event Dispatching. It delegates the actual cell-buffer drawing and native terminal hooks to its upstream engine, FastTerminal. This strict separation of concerns allows FastTUI to remain elegant and modular while inheriting FastTerminal's blistering 120 FPS rendering speeds.
FastTUI provides a comprehensive suite of UI primitives:
Panel: Movable, resizable windows with title bars and drop shadows.Button&ComplexButton: Interactive buttons with hover, focus, press states, and ANSI text styles (FastStyle).Label&PercentageLabel: Text displays with rich foreground/background color support.Input&MultilineTextBox: Single-line and multi-line text input fields.Dropdown: Expandable selection menus.ScrollVertical&ScrollHorizontal: Smooth 1:1 mouse-draggable scrollbars with custom thumb & track behaviors.TreeView&Table: Hierarchical tree navigators and multi-column data tables.
Add the JitPack repository and the dependency to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastTUI</artifactId>
<version>0.1.2</version>
</dependency>
<!-- Required for rendering -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastTerminal</artifactId>
<version>0.1.7</version>
</dependency>
</dependencies>repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.andrestubbe:FastTUI:0.1.2'
// Required for rendering
implementation 'com.github.andrestubbe:FastTerminal:0.1.7'
}Download the latest JAR directly to add it to your classpath:
- 📥 FastTUI-0.1.2.jar (The UI Toolkit)
- 📥 FastTerminal-0.1.7.jar (Required rendering engine)
- COMPILE.md: Full compilation guide (Maven Build Setup).
- REFERENCE.md: Exhaustive catalog of UI widgets and layout managers.
- PHILOSOPHY.md: Design principles for beautiful terminal interfaces.
- ROADMAP.md: Planned milestone features and new components.
- CHANGELOG.md: Release history and updates.
| Platform | Status |
|---|---|
| Windows 10/11 | ✅ Fully Supported |
| Linux | ⏳ Planned |
| macOS | ⏳ Planned |
MIT License — See LICENSE file for details.
Part of the FastJava Ecosystem — Making the JVM faster.