Skip to content
This repository was archived by the owner on Sep 3, 2023. It is now read-only.
/ JColorfulConsole Public archive

A library that helps you to print colored and styled text in the Java console πŸ–ŒπŸ–ŒπŸ–ŒοΈ

License

Notifications You must be signed in to change notification settings

0x61nas/JColorfulConsole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bde4bf1 Β· Sep 3, 2023
Aug 28, 2023
Jun 16, 2022
Mar 25, 2022
Jun 16, 2022
Jun 16, 2022
Mar 25, 2022
Jan 28, 2023
Mar 24, 2022
Jun 16, 2022
Jun 16, 2022
Sep 3, 2023
Sep 3, 2023
Jan 28, 2023

Repository files navigation

JColorfulConsole is a console color library.

Vulnerabilities Duplicated Lines (%) Quality Gate Status Technical Debt Lines of Code Code Smells Maintainability Rating Security Rating Bugs

Features:

  • Support text color.
  • Support background color.
  • Support 256 colors (RGB).
  • Support ANSI colors.
  • Support indexed colors.
  • Support text style.
  • Lightweight and fast.
  • Easy to use.

How to add this library into your project

Maven

Step 1. Add the JitPack repository to your build file

<repositories>
	<repository>
		<id>jitpack.io</id>
		<url>https://jitpack.io</url>
	</repository>
</repositories>

Step 2. Add the dependency

<dependency>
	<groupId>com.github.0x61nas</groupId>
	<artifactId>JColorfulConsole</artifactId>
	<version>1.0.4</version>
</dependency>

Gradle:

Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency

	dependencies {
	        implementation 'com.github.0x61nas:JColorfulConsole:1.0.4'
	}

Usage:

public class Example1 {
    public static void main(String[] args) {
        ColoredString hello = new ColoredString("Hello, ");
        hello.setForegroundColor(TextColor.ANSI.BLUE); // Set text color to blue
        hello.setBackgroundColor("magenta"); // Set background color to magenta
        hello.addStyle(TextStyle.BOLD); // Add bold style

        ColoredString world = new ColoredString();
        world.setStr("World!"); // Set string to "World!"
        world.setForegroundColor("#542413"); // Set text color
        world.setBackgroundColor(new TextColor.RGB(34, 139, 34)); // Set background color
        world.addStyle(TextStyle.ITALIC); // Add italic style

        System.out.print(hello); // Print colored string
        System.out.print(world); // Print colored string

    }
}

Result of example 1

public class Example2 {
    public static void main(String[] args) {
        new Thread(() -> {
            while (true) {
                System.out.println(new ColoredString("Hi",
                        new TextColor.RGB((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)),
                        new TextColor.RGB((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)),
                        TextStyle.values()[(int) (Math.random() * TextStyle.values().length)]));
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}

Result of example 2

Requirements for development:

  • Maven
  • jdk 17
  • IntelliJ IDEA (not required but recommended)

TODO

  • Add Tests
  • Add Formatter
  • Add Documentation
  • Add more examples

Projects using this library πŸ’™

Available in

GitHub GitLab BitBucket Codeberg

Quality gate

SonarCloud

License: GPL-3.0