[java] Jansi를 이용하여 자바 애플리케이션에서 터미널에서 그림 그리기
Jansi는 자바를 사용하여 터미널에서 색상, 스타일 및 텍스트를 처리하는 라이브러리입니다. 이를 이용하면 자바 애플리케이션에서 터미널에 그림을 그릴 수 있습니다. 이번 블로그에서는 Jansi를 사용하여 자바 애플리케이션에서 터미널에 그림을 그리는 방법을 알아보겠습니다.
Jansi 라이브러리 추가하기
먼저 Jansi 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가하세요.
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>1.18</version>
</dependency>
Gradle을 사용하는 경우 build.gradle 파일에 다음 의존성을 추가하세요.
dependencies {
implementation 'org.fusesource.jansi:jansi:1.18'
}
터미널에 그림 그리기
이제 Jansi를 사용하여 터미널에 그림을 그리는 코드를 작성해보겠습니다. 아래는 간단한 사각형을 그리는 예제입니다.
import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.AnsiConsole;
public class TerminalGraphics {
public static void main(String[] args) {
AnsiConsole.systemInstall();
Ansi buffer = Ansi.ansi();
// 사각형 그리기
buffer.fg(Ansi.Color.RED).a("┏━━━━━━━━━━━━━━┓\n");
buffer.fg(Ansi.Color.RED).a("┃ ┃\n");
buffer.fg(Ansi.Color.RED).a("┃ ┃\n");
buffer.fg(Ansi.Color.RED).a("┗━━━━━━━━━━━━━━┛\n");
System.out.print(buffer);
AnsiConsole.systemUninstall();
}
}
위 코드에서는 Jansi의 AnsiConsole
클래스를 사용하여 터미널에 ANSI 이스케이프 시퀀스를 적용합니다. 그리고 Ansi
객체를 사용하여 색상 및 텍스트를 지정하여 사각형을 그립니다. fg()
메서드를 사용하여 글꼴 색상을 지정하고, a()
메서드를 사용하여 텍스트를 출력합니다.
실행 결과
위의 코드를 실행하면 터미널에 다음과 같은 사각형이 그려집니다.
┏━━━━━━━━━━━━━━┓
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━━┛
마무리
이번 블로그에서는 Jansi를 사용하여 자바 애플리케이션에서 터미널에 그림을 그리는 방법을 알아보았습니다. Jansi를 사용하면 터미널 화면에 색상, 스타일 및 텍스트를 적용하여 원하는 형태의 그림을 그릴 수 있습니다. 추가로 Jansi에 대한 자세한 내용은 공식 문서를 참조하세요.