APWT
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.
Compiling
Dependencies:
- Java 8 or newer
- Gradle (last tested with Gradle 7.5.1)
To build a library JAR:
gradle clean build jar
Usage
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.
Documentation
APWT has full JavaDoc documentation.
To read it, run gradle javadoc
and browse to build/docs/index.html
.
To get started, I would recommend simply initializing a Display
object and going from there.
The Display
is designed to work with a hierarchy of Screen
s, 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.
Contributing
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.