[java] Jansi를 이용하여 자바 애플리케이션에서 텍스트가 서서히 나타나는 효과 만들기

때로는 자바 애플리케이션에서 텍스트가 일정한 속도로 나타나는 효과를 만들어야 할 때가 있습니다. 이러한 효과를 구현하려면 Jansi 라이브러리를 사용할 수 있습니다. Jansi는 콘솔에서 색상 및 텍스트 스타일을 지원하는 자바 라이브러리입니다.

Jansi 라이브러리 추가하기

먼저, Maven을 사용하는 경우 pom.xml 파일에 다음 종속성을 추가해야 합니다:

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

Gradle을 사용하는 경우 build.gradle 파일에 다음 종속성을 추가해야 합니다:

implementation 'org.fusesource.jansi:jansi:1.18'

의존성을 추가한 후 빌드 도구를 통해 라이브러리를 다운로드하고 프로젝트에 추가하세요.

텍스트 서서히 나타내기

아래의 예제 코드에서는 Jansi를 사용하여 텍스트가 서서히 나타나는 효과를 구현합니다.

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

public class TextAnimationExample {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();

        String text = "Hello World!";
        int delay = 200; // 나타나는 속도를 조절하는 딜레이(ms)

        Ansi ansi = Ansi.ansi();
        for (int i = 0; i < text.length(); i++) {
            ansi = ansi.a(text.charAt(i));
            System.out.print(ansi);
            try {
                Thread.sleep(delay);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

        AnsiConsole.systemUninstall();
    }
}

위 코드에서는 AnsiConsole.systemInstall()을 호출하여 Ansi를 사용할 수 있도록 설정합니다. 그리고 나서 Ansi 클래스의 인스턴스를 만들고 ansi.a() 메소드를 사용하여 텍스트를 하나씩 추가합니다. System.out.print()를 사용하여 텍스트를 출력하고, Thread.sleep()을 사용하여 딜레이를 설정하여 텍스트가 서서히 출력되도록 합니다. 마지막으로 AnsiConsole.systemUninstall()을 호출하여 Ansi를 해제합니다.

위의 코드를 실행하면 “Hello World!”라는 텍스트가 서서히 나타나는 효과를 볼 수 있습니다.

마무리

Jansi를 사용하면 자바 애플리케이션에서 텍스트가 서서히 나타나는 효과를 쉽게 구현할 수 있습니다. 위의 예제 코드를 기반으로 원하는 효과를 만들어보세요. Jansi를 사용하면 콘솔 환경에서 텍스트를 더욱 다채롭고 흥미로운 방식으로 표시할 수 있습니다.


참고자료