[java] Jansi를 사용한 자바 애플리케이션에서 텍스트 스타일 변경하기

대부분의 자바 콘솔 애플리케이션은 기본적으로 단조로운 텍스트 스타일을 가지고 있습니다. 하지만 Jansi를 사용하면 텍스트 스타일을 변경하여 더욱 친절하고 다채로운 인터페이스를 만들 수 있습니다. Jansi는 ANSI 컬러 코드를 지원하여 텍스트에 색상, 굵게, 밑줄, 배경 색상 등 다양한 효과를 줄 수 있습니다.

Jansi 라이브러리 추가

먼저, Jansi 라이브러리를 프로젝트에 추가해야 합니다. Gradle을 사용하는 경우 build.gradle 파일에 다음 의존성을 추가하면 됩니다:

dependencies {
    implementation 'org.fusesource.jansi:jansi:2.3.2'
}

Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>org.fusesource.jansi</groupId>
    <artifactId>jansi</artifactId>
    <version>2.3.2</version>
</dependency>

의존성을 추가한 후 프로젝트를 빌드하여 Jansi 라이브러리를 가져옵니다.

텍스트 스타일 변경하기

Jansi를 사용하여 텍스트 스타일을 변경하려면 다음과 같은 코드를 작성하세요:

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

public class TextStyler {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();
        
        System.out.println(Ansi.ansi().fg(Ansi.Color.RED).a("This is red text").reset());
        System.out.println(Ansi.ansi().fg(Ansi.Color.GREEN).a("This is green text with bold").bold().reset());
        System.out.println(Ansi.ansi().fg(Ansi.Color.BLUE).bg(Ansi.Color.YELLOW).a("This is blue text on yellow background").reset());
        
        AnsiConsole.systemUninstall();
    }
}

위의 코드에서는 org.fusesource.jansi.Ansiorg.fusesource.jansi.AnsiConsole 클래스를 임포트하고, AnsiConsole.systemInstall()AnsiConsole.systemUninstall()을 사용하여 텍스트 스타일을 변경하기 전에 Jansi를 활성화하고 비활성화합니다.

Ansi.ansi().fg() 메서드로 텍스트의 색상을 변경할 수 있고, Ansi.Color 클래스의 상수를 사용하여 원하는 색상을 선택할 수 있습니다. Ansi.ansi().bg() 메서드로 배경 색상을 변경할 수도 있습니다.

텍스트에 굵게, 이탤릭체, 밑줄 등의 스타일을 적용하려면 bold(), italic(), underline() 등의 메서드를 사용하면 됩니다. reset() 메서드를 호출하여 스타일을 원래대로 되돌릴 수 있습니다.

실행 결과

위의 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다:

example-output

위의 예제에서는 빨간색 텍스트, 굵은 초록색 텍스트, 노란색 배경 위의 파란색 텍스트와 같은 다양한 효과를 볼 수 있습니다.

결론

Jansi를 사용하면 자바 콘솔 애플리케이션에서 텍스트 스타일을 변경하는 것이 매우 간단해집니다. Jansi를 활용하여 사용자 친화적이고 다채로운 텍스트 인터페이스를 구축할 수 있습니다. 추가적으로 Jansi의 다양한 기능과 사용 방법을 익히고 적용하여 애플리케이션의 사용성을 향상시킬 수 있습니다.

참고 자료