Terminal GUI library for simple ANSI console tools and graphical interfaces with Windows/Linux support

Overview

Version

TerminalCore

Terminal GUI library for Windows/Linux.

This library contains all colors as ascii codes, native functions of the respective operating systems, gui toolkit and simplified terminal functions.

Sample app

Documentation: https://apicodeyt.github.io/TerminalCore/

Maven Dependency

<dependency>
    <groupId>net.pascalgroupId>
    <artifactId>terminalcoreartifactId>
    <version>0.3.0version>
dependency>

This library includes a color system, as well as cursor handling and more.

Example (Simple Terminal - No Screen)

Terminal t = new Terminal();
t.setTitle("Test!");
t.clearScreen();
TStringBuilder sb = new TStringBuilder()
        .foreground(ForegroundColor.getColorFrom256ColorSet(135)) //Purple
        .append("A Terminal Test")
        .reset()
        .nextLine()
        .background(BackgroundColor.WHITE)
        .foreground(ForegroundColor.BLACK)
        .append("Background!")
        .reset();
t.writeLine(sb.toString() + "\n");
//yellow, pink
t.setColor(ForegroundColor.getColorFrom256ColorSet(227), BackgroundColor.getColorFrom256ColorSet(161));
t.writeLine("Background");
t.reset();
t.write("Press TAB to continue ...");
while (t.getch() != 9) {
    //tab not pressed
}
//tab pressed
t.write("\n\nSimple Movement:");
t.moveConsoleCursor(MoveDirection.RIGHT, 4);
t.write(ForegroundColor.RGB_AQUA + "Cursor Here!");
//wait of button
t.getch();
//close
t.dispose();

So can be screens used in a TerminalApplication. These screens are graphical interfaces with which you can add various components. In addition, there are different layout types. The Absolute layout is simple and does not support any resizing of the terminal. Relative layouts can handle this instead and can move or resize the components when the screen is resized. The components can also be fixed so that this change is ignored. In addition, you can also add your own RenderHandler, with which you can use this resizing in detail.

Important to use

For the execution the library file must be in the same folder where the program resides and must be named exactly. For windows terminal32.dll and for linux terminal.so . To change the filename there are the public files in the TerminalHandle class. This should take place absolutely before initializing the terminal object!

Example (Screen Application)

Terminal terminal = new Terminal(true); //enable utf8 for screen using  <= IMPORTANT!
TerminalApplication application = new TerminalApplication(terminal);
TerminalScreen screen = new TerminalScreen(application);
TLabel label = new TLabel("Button: ");
TButton button = new TButton("Click me!");
button.setClickEvent(new Runnable() {
    @Override
    public void run() {
        //action
    }
}); 
screen.addComponent(label, new TVector(2, 2)); //component, position
screen.addComponent(button, new TVector(2, 3));
        
application.openScreen(screen); //open screen

8-Bit Colorlist

Colors

You might also like...

😉PrettyZoo is a GUI for Zookeeper created by JavaFX and Apache Curator Framework.

😉PrettyZoo is a GUI for Zookeeper created by JavaFX and Apache Curator Framework.

😉 Pretty nice Zookeeper GUI, Support Win / Mac / Linux Platform

Jan 5, 2023

A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas.

A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas.

FileManager A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas. Enables folder creatio

Feb 7, 2022

PS4 Remote PKG Installer GUI for https://github.com/flatz/ps4_remote_pkg_installer

PS4 Remote PKG Installer GUI for https://github.com/flatz/ps4_remote_pkg_installer

PS4 Remote PKG Installer PS4 Remote PKG Installer GUI for https://github.com/flatz/ps4_remote_pkg_installer Tired of copying PKG files to USB then wal

Dec 25, 2022

An attempt to port CSGO's Skeet.cc GUI into minecraft

------------------------------------------- Source installation information for modders ------------------------------------------- This code follows

Dec 30, 2022

A standalone Java Decompiler GUI

A standalone Java Decompiler GUI

JD-GUI JD-GUI, a standalone graphical utility that displays Java sources from CLASS files. Java Decompiler projects home page: http://java-decompiler.

Dec 31, 2022

Tic-Tac-Toe-GUI - This repository contains Java based interactive Tic-Tac-Toe game.

Tic-Tac-Toe This repository contains Java based interactive Tic-Tac-Toe game. In this game you can play individual or with another player with your na

Sep 1, 2022

A collection of tools and libraries for easier development on the JavaFX platform!

This project is archived I do not realistically have the time to take care of this project, unfortunately. It originally was built along a Twitter cli

Dec 13, 2022

A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

DeriveColorsFX This is not a serious application. Its a small tool where I just played with the method Color::deriveColor provided by JavaFX. Also its

Oct 9, 2022

Full Featured Google Chrome Dev Tools to JavaFX WebView browser debugging.

Full Featured Google Chrome Dev Tools to JavaFX WebView browser debugging.

JavaFX WebView Debugger Via WebSocket connection to Google Chrome Dev Tools JavaFx WebView debugging with Chrome Dev tools is highly dependent on Goog

Dec 19, 2022
Owner
Pascal
Pascal
A prayer times (Adhan) app for Windows and GNU/Linux written in JavaFX.

Salawat Salawat - سالوات A prayer times and Adhan application for Windows, macOS and GNU/Linux written in Java Download » View Demo · Report Bug · Req

DarkBlackChocolate 8 Nov 17, 2022
InstallRepos - Install GitHub Repository on any Operating System (Linux, MacOS or Windows).

Install Repos Install GitHub Repository on any Operating System (Linux, MacOS or Windows). Requires Java JRE 17.0.0.1 or later. Repository Includes: s

Tushar Chaurasia 2 Apr 21, 2022
A library for JavaFX that gives you the ability to show progress on the Windows taskbar.

A clean and easy way to implement this amazing native Windows taskbar-progressbar functionality in javaFX Background Since Windows 7 there is a taskba

Daniel Gyoerffy 77 Nov 28, 2022
A simple calculator GUI

Calculator A simple calculator GUI Description Lets you use a standard calculator in a GUI, these are some features that this calculator supports. Mad

Raymart 3 Sep 29, 2021
💠 Undecorated JavaFX Scene with implemented move, resize, minimise, maximise, close and Windows Aero Snap controls.

Support me joining PI Network app with invitation code AlexKent FX-BorderlessScene ( Library ) ?? Undecorated JavaFX Scene with implemented move, resi

Alexander Kentros 125 Jan 4, 2023
A JavaFX UI framework to create fully customized undecorated windows

CustomStage A JavaFX undecorated stage which can fully be customized Donations If this project is helpful to you and love my work and feel like showin

Oshan Mendis 186 Jan 6, 2023
Decorate "Undecorated" JavaFX windows

DEPRECATED: The latest version of this project is UndecoratorBis https://github.com/in-sideFX/UndecoratorBis Undecorator Decorate undecorated Java

null 115 Sep 23, 2022
BukkitRCEElevator - Allows you to execute Linux commands on panels like Multicraft.

BukkitRCEElevator A plugin that lets you execute linux commands thru Minecraft console. This only works on panels that do not use docker like Multicra

Pace 2 Dec 27, 2021
Custom captions (window decorations) on Windows for JavaFX

javafx-customcaption javafx-customcaption is designed to allow customizing the native window caption on Microsoft Windows Usage: You can use the follo

null 3 Dec 15, 2022
an open souece, lightWeight and beautiful GUI for VPN Usage

free, open source, lightweight and beutiful GUI for vpn usage , this Project is part of my #100DaysOfCode challenge in twitter : @My_Terminal Dependen

Mohammad Esmaeili 21 Nov 9, 2022