Javaでカラー付きテキストを印刷する方法


  1. ANSIエスケープシーケンスを使用する方法: ANSIエスケープシーケンスを使用すると、ターミナルやコンソールウィンドウでカラー付きテキストを表示できます。次のコード例は、ANSIエスケープシーケンスを使用してカラー付きテキストを印刷する方法を示しています。

    public class ColoredTextPrinter {
       public static void main(String[] args) {
           // ANSIエスケープシーケンスを使用してカラー付きテキストを印刷する
           System.out.println("\u001B[31m赤いテキスト\u001B[0m");
           System.out.println("\u001B[32m緑のテキスト\u001B[0m");
           System.out.println("\u001B[34m青いテキスト\u001B[0m");
       }
    }

    上記のコードでは、\u001B[31mのようなANSIエスケープシーケンスを使用して、テキストの色を指定しています。\u001B[0mは、色のリセットを表しています。

  2. Jansiライブラリを使用する方法: Jansiは、JavaでANSIエスケープシーケンスを簡単に扱うためのライブラリです。Jansiを使用すると、より簡潔なコードでカラー付きテキストを印刷できます。以下の手順に従って、Jansiをプロジェクトに追加し、カラー付きテキストを印刷するコードを作成できます。

    • Mavenを使用している場合、pom.xmlファイルに以下の依存関係を追加します:

      <dependency>
       <groupId>org.fusesource.jansi</groupId>
       <artifactId>jansi</artifactId>
       <version>1.18</version>
      </dependency>
    • Jansiを使用してカラー付きテキストを印刷するコード例:

      import org.fusesource.jansi.Ansi;
      import org.fusesource.jansi.AnsiConsole;
      public class ColoredTextPrinter {
       public static void main(String[] args) {
           // Jansiを初期化
           AnsiConsole.systemInstall();
           // カラー付きテキストを印刷する
           System.out.println(Ansi.ansi().fgRed().a("赤いテキスト").reset());
           System.out.println(Ansi.ansi().fgGreen().a("緑のテキスト").reset());
           System.out.println(Ansi.ansi().fgBlue().a("青いテキスト").reset());
           // Jansiをリセット
           AnsiConsole.systemUninstall();
       }
      }

    上記のコードでは、Ansi.ansi().fgRed().a("赤いテキスト").reset()のようなJansiのメソッドを使用して、テキストの色を指定しています。reset()は色のリセットを行います。