Termite is a base library to build a Text-based User Interface
- Java 100%
| .idea | ||
| build-logic | ||
| components | ||
| example | ||
| gradle | ||
| tui | ||
| .gitattributes | ||
| .gitignore | ||
| ANSI Escape Code.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
| Terminal Mode.md | ||
| termite.png | ||
| TODO.md | ||
Termite
Project Termite is a text-based user interface library for Java.
TUI
Usage
repositories {
maven {
name = "Elex Repository"
url = "https://artifacts.elex-project.com/repository/maven/"
}
}
dependencies {
implementation("com.elex_project:termite:1.0.0")
}
final Termite termite = new Termite();
termite.setListener(new Termite.Listener() {
@Override
public void onStart(Termite termite) {
//
}
@Override
public void onRender(Termite termite) {
//
}
@Override
public void onKeyInput(KeyEvent key, Termite termite) {
switch (key.type()) {
case Key.ESCAPE, Key.CTRL_C:
termite.stop();
break;
case Key.ENTER:
//
case Key.CHARACTER:
//
default:
//
}
}
});
termite.start();
Components
Usage
repositories {
maven {
name = "Elex Repository"
url = "https://artifacts.elex-project.com/repository/maven/"
}
}
dependencies {
implementation("com.elex_project:termite-components:1.0.0")
}
final TextView textView = Builder.textView()
.text("Hello, Termite!")
.layoutWeight(1)
.build();
final SplitPanel mainPanel = Builder.splitPanel()
.title("Termite! TUI")
.splitRatio(0.3)
.layoutWeight(1)
.border(Border.ROUNDED, Color.DEFAULT.getCode())
.addSecond(textView)
.build();
final Window window = Builder.window()
.onStart(termite -> {
mainPanel.setSize(termite.getWidth(), termite.getHeight());
})
.onRender(termite -> {})
.onKeyInput((key, termite) -> {})
.onStop(termite -> {})
.add(mainPanel)
.build();
window.start();
