June 22, 2017
git clone https://frie.dev/apwt.git
AsciiPanel Windowing Toolkit (APWT) is a set of classes and utilities that will make working with AsciiPanel on a larger scale much easier. It includes support for screens, text windows, multicolored strings, and constants for different CP437 characters.
AsciiPanel Windowing Toolkit is a library that provides several high-level UI components for AsciiPanel.
DISCLAIMER: If you want to develop a roguelike or other complex TUI application in Java, I strongly recommend using Zircon instead of AsciiPanel or APWT.
- Java 8 or newer
- Gradle (last tested with Gradle 7.5.1)
To build a library JAR:
gradle clean build jar
To use APWT in your own Java project, you have a few options:
- Build a library JAR as described in the Compiling section above and include it in your project.
- Add this repository as a Git submodule:
git submodule add https://frie.dev/apwt.git
- You may need to create a symbolic link so that APWT's source tree is in the path expected by your build system.
- See EverSector for an example of this configuration.
- Use a Gradle source dependency.
- I have not been able to get this to work for APWT, but you may have better luck.
APWT has full JavaDoc documentation.
To read it, run
gradle javadoc and browse to
To get started, I would recommend simply initializing a
Display object and going from there.
Display is designed to work with a hierarchy of
Screens, each of which read input and display output.
This system is modeled after Trystan's roguelike tutorial.
For an example project using APWT, see EverSector.
APWT is no longer in development because it is largely feature-complete and I have no further use for it in my own projects. If you want to expand on APWT, make your own fork.