자바 애플리케이션을 개발할 때 종종 터미널에 텍스트를 출력하게 됩니다. 하지만 기본적으로 터미널에서 텍스트의 출력 위치는 한 줄씩 아래로 내려가는 방식입니다. 이번에는 Jansi라는 라이브러리를 사용하여 자바 애플리케이션에서 텍스트 출력 위치를 직접 변경하는 방법을 알아보겠습니다.
Jansi란?
Jansi는 자바에서 터미널 관련 작업을 수행하기 위한 라이브러리입니다. 이 라이브러리를 사용하면 터미널에서 텍스트 출력에 대한 세밀한 제어를 할 수 있습니다.
Jansi 사용하기
-
Jansi 라이브러리 추가
프로젝트의 의존성 관리 도구(예: Gradle 또는 Maven)를 사용하여 Jansi 라이브러리를 추가해야 합니다. 다음은 Gradle을 사용하는 경우의 예시입니다.
dependencies { implementation 'org.fusesource.jansi:jansi:1.18' }
-
텍스트 출력 위치 변경하기
Jansi를 사용하여 텍스트 출력 위치를 변경하려면 다음과 같은 코드를 작성해야 합니다.
import org.fusesource.jansi.Ansi; import org.fusesource.jansi.AnsiConsole; public class Main { public static void main(String[] args) { AnsiConsole.systemInstall(); Ansi ansi = Ansi.ansi(); ansi.cursor(5, 10).eraseScreen().fgRed().a("Hello, World!").reset(); System.out.print(ansi); AnsiConsole.systemUninstall(); } }
위의 코드에서
ansi.cursor(5, 10)
메서드는 커서를 5행 10열로 이동시킵니다.ansi.eraseScreen()
메서드는 화면을 지우는 작업을 수행하고,ansi.fgRed()
메서드는 텍스트를 빨간색으로 설정합니다.ansi.a("Hello, World!")
메서드는 출력할 텍스트를 지정합니다. 마지막으로ansi.reset()
메서드는 모든 스타일을 초기화합니다. -
결과 확인하기
위의 코드를 실행하면 터미널 상에서 “Hello, World!”라는 텍스트가 5행 10열부터 시작해서 빨간색으로 출력됩니다.
결론
Jansi를 이용하여 자바 애플리케이션에서 텍스트 출력 위치를 변경하는 방법에 대해 알아보았습니다. 이를 통해 터미널에서 더 세밀한 텍스트 출력을 제어할 수 있게 되었습니다. Jansi를 사용하면 프로그램을 개발하거나 디버깅할 때 터미널에서 더 나은 사용자 경험을 제공할 수 있습니다.
참고 자료
- Jansi GitHub 리포지토리: https://github.com/fusesource/jansi