[java] Jansi 라이브러리를 사용하여 자바에서 백그라운드 색상 변경하기

Jansi는 Java에서 ANSI 이스케이프 시퀀스를 처리하는 라이브러리입니다. 이 라이브러리를 사용하면 터미널 환경에서 텍스트의 색상, 스타일 및 위치를 제어할 수 있습니다. 이번 포스트에서는 Jansi를 사용하여 자바에서 백그라운드 색상을 변경하는 방법에 대해 알아보겠습니다.

Jansi 라이브러리 설정

먼저 Maven 또는 Gradle과 같은 빌드 도구를 사용하여 Jansi 라이브러리를 프로젝트에 추가해야 합니다. Jansi는 Maven Central Repository에서 다운로드할 수 있습니다. 따라서 해당 빌드 도구의 의존성 섹션에 Jansi의 그룹 ID와 아티팩트 ID를 추가해야 합니다.

org.fusesource.jansi jansi 1.18

- Gradle:
```groovy
dependencies {
    implementation 'org.fusesource.jansi:jansi:1.18'
}

자바에서 백그라운드 색상 변경하기

Jansi를 사용하여 자바에서 백그라운드 색상을 변경하려면 다음 단계를 따르면 됩니다.

  1. AnsiConsole.systemInstall()을 호출하여 Jansi를 시스템 콘솔에 설치합니다.

  2. Ansi.ansi()를 사용하여 새로운 Ansi 객체를 생성합니다.

  3. bg(Color) 메소드를 사용하여 백그라운드 색상을 설정합니다. 이 때 Color 객체에는 미리 정의된 색상 상수(예: Color.RED, Color.GREEN)를 사용하거나 RGB 값을 직접 지정할 수도 있습니다.

  4. reset() 메소드를 사용하여 이후에 출력할 텍스트의 색상을 재설정합니다.

  5. toString() 메소드를 호출하여 Ansi 객체를 문자열로 변환합니다.

  6. 변환된 문자열을 터미널에 출력합니다.

다음은 위 단계를 구체적으로 보여주는 예제 코드입니다.

import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Color;
import org.fusesource.jansi.AnsiConsole;

public class Main {
    public static void main(String[] args) {
        // Jansi 설치
        AnsiConsole.systemInstall();

        // 백그라운드 색상 변경
        Ansi ansi = Ansi.ansi()
                .bg(Color.RED)
                .a("Hello, Jansi!")
                .reset();

        // 터미널에 출력
        System.out.println(ansi.toString());
    }
}

위 예제에서는 백그라운드 색상을 빨간색으로 설정하고 “Hello, Jansi!”라는 텍스트를 출력합니다. 출력 결과는 터미널에 따라 다르지만, 빨간색 바탕에 흰색 텍스트로 출력되어야 합니다.

자바에서 백그라운드 색상을 변경하기 위해 Jansi 라이브러리를 사용하는 방법을 알아보았습니다. Jansi는 터미널 환경에서 텍스트 스타일링을 더욱 편리하게 다룰 수 있는 유용한 도구입니다. 추가적으로 Jansi의 다른 기능들도 살펴보시는 것을 추천드립니다.

참고 자료