2022-03-24 23:55:37 +00:00
|
|
|
## JColorfulConsole
|
|
|
|
|
|
|
|
### JColorfulConsole is a console color library.
|
2022-03-25 16:06:42 +00:00
|
|
|
[![](https://jitpack.io/v/Anas-Elgarhy/JColorfulConsole.svg)](https://jitpack.io/#Anas-Elgarhy/JColorfulConsole)
|
2022-03-24 23:55:37 +00:00
|
|
|
|
|
|
|
### Features:
|
|
|
|
- Support text color.
|
|
|
|
- Support background color.
|
2022-06-15 18:20:37 +00:00
|
|
|
- Support 256 colors (RGB).
|
|
|
|
- Support ANSI colors.
|
|
|
|
- Support indexed colors.
|
2022-03-24 23:55:37 +00:00
|
|
|
- Support text style.
|
2022-06-15 18:20:37 +00:00
|
|
|
- Lightweight and fast.
|
|
|
|
- Easy to use.
|
2022-03-24 23:55:37 +00:00
|
|
|
|
2022-03-25 16:03:45 +00:00
|
|
|
### How to add this library into your project
|
2022-03-25 18:56:49 +00:00
|
|
|
**Step 1**. Add the dependency
|
2022-03-25 16:03:45 +00:00
|
|
|
```xml
|
2022-03-25 18:56:49 +00:00
|
|
|
<dependency>
|
|
|
|
<groupId>com.anas.jcolorfulconsole</groupId>
|
|
|
|
<artifactId>jcolorfulconsole</artifactId>
|
2022-03-25 18:59:21 +00:00
|
|
|
<version>0.1.5</version>
|
2022-03-25 18:56:49 +00:00
|
|
|
</dependency>
|
2022-03-25 16:03:45 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
#### Gradle:
|
|
|
|
**Step 1**. Add the JitPack repository to your build file<br>
|
|
|
|
*Add it in your root build.gradle at the end of repositories:*
|
|
|
|
```gradle
|
|
|
|
allprojects {
|
|
|
|
repositories {
|
|
|
|
...
|
|
|
|
maven { url 'https://jitpack.io' }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
**Step 2**. Add the dependency
|
|
|
|
```gradle
|
|
|
|
dependencies {
|
2022-03-25 18:59:21 +00:00
|
|
|
implementation 'com.github.Anas-Elgarhy:JColorfulConsole:0.1.5'
|
2022-03-25 16:03:45 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2022-06-15 18:20:37 +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
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
![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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
![Result of example 2](./Screenshots/1.0.1-example2.gif)
|
|
|
|
|
2022-06-15 18:20:37 +00:00
|
|
|
## Requirements for development:
|
|
|
|
- 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
|
|
|
|
- [ ] Add Tests
|
|
|
|
- [ ] Add Formatter
|
|
|
|
- [ ] Add Documentation
|
|
|
|
- [ ] Add more examples
|
2022-03-25 15:14:38 +00:00
|
|
|
|
2022-06-15 18:20:37 +00:00
|
|
|
### Available in
|
2022-03-25 15:14:38 +00:00
|
|
|
|
2022-06-15 18:20:37 +00:00
|
|
|
[![GitHub](https://img.shields.io/badge/GitHub-Main%20repo-brightgreen?style=for-the-badge&logo=GitHub)](https://github.com/Anas-Elgarhy/jpwd)
|
|
|
|
[![GitLab](https://img.shields.io/badge/GitLab-Mirror%20repo-brightgreen?style=for-the-badge&logo=GitLab)](https://gitlab.com/java-utils1/jpwd)
|
|
|
|
[![BitBucket](https://img.shields.io/badge/BitBucket-Mirror%20repo-brightgreen?style=for-the-badge&logo=BitBucket)](https://bitbucket.org/anas_elgarhy/jpwd)
|
|
|
|
[![Codeberg](https://img.shields.io/badge/Codeberg-Mirror%20repo-brightgreen?style=for-the-badge&logo=Codeberg)](https://codeberg.org/java-utils/jpwd)
|
|
|
|
|
|
|
|
|
|
|
|
[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=Anas-Elgarhy_jpwd)](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_jpwd)
|
|
|
|
|
|
|
|
|
|
|
|
[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-black.svg)](https://sonarcloud.io/summary/new_code?id=Anas-Elgarhy_jpwd)
|
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)
|