2022-06-16 04:24:22 +00:00
# JColorfulConsole is a console color library.
2022-03-24 23:55:37 +00:00
2022-03-25 16:06:42 +00:00
[![ ](https://jitpack.io/v/Anas-Elgarhy/JColorfulConsole.svg )](https://jitpack.io/#Anas-Elgarhy/JColorfulConsole)
2022-06-16 04:24:22 +00:00
[![Vulnerabilities ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=vulnerabilities )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Duplicated Lines (%) ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=duplicated_lines_density )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Quality Gate Status ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=alert_status )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Technical Debt ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=sqale_index )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Lines of Code ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=ncloc )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Code Smells ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=code_smells )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Maintainability Rating ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=sqale_rating )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Security Rating ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=security_rating )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
[![Bugs ](https://sonarcloud.io/api/project_badges/measure?project=Anas-Elgarhy_JColorfulConsole&metric=bugs )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
2022-03-24 23:55:37 +00:00
2022-06-16 04:24:22 +00:00
## Features:
2022-06-16 05:13:09 +00:00
- 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.
2022-03-24 23:55:37 +00:00
2022-06-16 04:24:22 +00:00
## How to add this library into your project
2022-06-16 05:13:09 +00:00
2022-06-16 04:24:22 +00:00
### Maven
2022-06-16 05:13:09 +00:00
**Step 1**. Add the JitPack repository to your build file
```xml
2022-06-16 05:48:54 +00:00
2022-06-16 05:13:09 +00:00
< repositories >
< repository >
< id > jitpack.io< / id >
< url > https://jitpack.io< / url >
< / repository >
< / repositories >
```
**Step 2**. Add the dependency
2022-03-25 16:03:45 +00:00
```xml
2022-03-25 18:56:49 +00:00
< dependency >
2022-06-16 05:48:54 +00:00
< groupId > com.github.Anas-Elgarhy< / groupId >
< artifactId > JColorfulConsole< / artifactId >
2022-06-16 05:17:00 +00:00
< version > 1.0.3< / version >
2022-03-25 18:56:49 +00:00
< / dependency >
2022-03-25 16:03:45 +00:00
```
#### Gradle:
2022-06-16 05:13:09 +00:00
2022-03-25 16:03:45 +00:00
**Step 1**. Add the JitPack repository to your build file< br >
*Add it in your root build.gradle at the end of repositories:*
2022-06-16 05:13:09 +00:00
2022-03-25 16:03:45 +00:00
```gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
2022-06-16 05:13:09 +00:00
2022-03-25 16:03:45 +00:00
**Step 2**. Add the dependency
2022-06-16 05:13:09 +00:00
2022-03-25 16:03:45 +00:00
```gradle
dependencies {
2022-06-16 05:17:00 +00:00
implementation 'com.github.Anas-Elgarhy:JColorfulConsole:1.0.3'
2022-03-25 16:03:45 +00:00
}
```
2022-06-16 04:24:22 +00:00
# Usage:
2022-03-25 15:14:38 +00:00
2022-06-16 03:42:47 +00:00
```java
public class Example1 {
public static void main(String[] args) {
ColoredString hello = new ColoredString("Hello, ");
2022-06-16 03:49:26 +00:00
hello.setForegroundColor(TextColor.ANSI.BLUE); // Set text color to blue
2022-06-16 03:42:47 +00:00
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
}
}
```
2022-06-16 05:13:09 +00:00
2022-06-16 03:42:47 +00:00
![Result of example 1 ](./Screenshots/1.0.1-example1.png )
```java
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();
}
}
```
2022-06-16 05:13:09 +00:00
2022-06-16 03:42:47 +00:00
![Result of example 2 ](./Screenshots/1.0.1-example2.gif )
2022-06-15 18:20:37 +00:00
## Requirements for development:
2022-06-16 05:13:09 +00:00
2022-06-15 18:20:37 +00:00
- Maven
- jdk 17
- IntelliJ IDEA (not required but recommended)
2022-03-25 15:14:38 +00:00
2022-06-15 18:20:37 +00:00
## TODO
2022-06-16 05:13:09 +00:00
2022-06-15 18:20:37 +00:00
- [ ] Add Tests
- [ ] Add Formatter
- [ ] Add Documentation
- [ ] Add more examples
2022-03-25 15:14:38 +00:00
2022-06-16 06:13:42 +00:00
## Projects using this library 💙
- [jls ](https://github.com/Anas-Elgarhy/jls )
- [jpwd ](https://github.com/Anas-Elgarhy/jpwd )
2022-06-15 18:20:37 +00:00
### Available in
2022-03-25 15:14:38 +00:00
2022-06-16 04:11:16 +00:00
[![GitHub ](https://img.shields.io/badge/GitHub-Main%20repo-brightgreen?style=for-the-badge&logo=GitHub )](https://github.com/Anas-Elgarhy/JColorfulConsole)
[![GitLab ](https://img.shields.io/badge/GitLab-Mirror%20repo-brightgreen?style=for-the-badge&logo=GitLab )](https://gitlab.com/Anas-Elgarhy/JColorfulConsole)
[![BitBucket ](https://img.shields.io/badge/BitBucket-Mirror%20repo-brightgreen?style=for-the-badge&logo=BitBucket )](https://bitbucket.org/anas_elgarhy/jcolorfulconsole)
[![Codeberg ](https://img.shields.io/badge/Codeberg-Mirror%20repo-brightgreen?style=for-the-badge&logo=Codeberg )](https://codeberg.org/anas-elgarhy/JColorfulConsole)
2022-06-15 18:20:37 +00:00
2022-06-16 04:11:16 +00:00
[![Quality gate ](https://sonarcloud.io/api/project_badges/quality_gate?project=Anas-Elgarhy_JColorfulConsole )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
2022-06-15 18:20:37 +00:00
2022-06-16 04:11:16 +00:00
[![SonarCloud ](https://sonarcloud.io/images/project_badges/sonarcloud-black.svg )](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_JColorfulConsole)
2022-03-25 17:25:08 +00:00
2022-06-15 18:20:37 +00:00
![License: GPL-3.0 ](https://img.shields.io/badge/License-GPL%203.0-blue.svg )