Làm cách nào để in màu trong bảng điều khiển bằng System.out.println?


326

Làm thế nào tôi có thể in màu trong giao diện điều khiển? Tôi muốn hiển thị dữ liệu màu khi bộ xử lý gửi dữ liệu và màu khác nhau khi nhận dữ liệu.


2
Nếu bảng điều khiển hỗ trợ (ví dụ: Bảng điều khiển Java Eclipse) tùy chỉnh màu của stdout / stderr, thì bạn có thể sử dụng System.out.println cho một màu và System.err.println cho một màu khác.
jw_

Câu trả lời:


585

Nếu thiết bị đầu cuối của bạn hỗ trợ nó, bạn có thể sử dụng mã thoát ANSI để sử dụng màu trong đầu ra của mình. Nó thường hoạt động cho lời nhắc shell Unix; tuy nhiên, nó không hoạt động cho Windows Command Prompt (Mặc dù, nó hoạt động với Cygwin). Ví dụ: bạn có thể định nghĩa các hằng số như thế này cho các màu:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final String ANSI_PURPLE = "\u001B[35m";
public static final String ANSI_CYAN = "\u001B[36m";
public static final String ANSI_WHITE = "\u001B[37m";

Sau đó, bạn có thể tham khảo những người cần thiết.

Ví dụ: sử dụng các hằng số trên, bạn có thể tạo đầu ra văn bản màu đỏ sau trên các thiết bị đầu cuối được hỗ trợ:

System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);

Cập nhật: Bạn có thể muốn kiểm tra thư viện Jansi . Nó cung cấp API và có hỗ trợ cho Windows bằng JNI. Tôi chưa thử nó bao giờ; Tuy nhiên, nó có vẻ đầy hứa hẹn.

Cập nhật 2: Ngoài ra, nếu bạn muốn thay đổi màu nền của văn bản thành một màu khác, bạn cũng có thể thử như sau:

public static final String ANSI_BLACK_BACKGROUND = "\u001B[40m";
public static final String ANSI_RED_BACKGROUND = "\u001B[41m";
public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m";
public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m";
public static final String ANSI_BLUE_BACKGROUND = "\u001B[44m";
public static final String ANSI_PURPLE_BACKGROUND = "\u001B[45m";
public static final String ANSI_CYAN_BACKGROUND = "\u001B[46m";
public static final String ANSI_WHITE_BACKGROUND = "\u001B[47m";

Ví dụ:

System.out.println(ANSI_GREEN_BACKGROUND + "This text has a green background but default text!" + ANSI_RESET);
System.out.println(ANSI_RED + "This text has red text but a default background!" + ANSI_RESET);
System.out.println(ANSI_GREEN_BACKGROUND + ANSI_RED + "This text has a green background and red text!" + ANSI_RESET);

1
@ WhiteFang34 Bạn có thể giải thích việc sử dụng RESET là gì nếu màu của nó là ĐEN, ít nhất là trong bảng điều khiển của tôi không? Nó giống như một mặc định hoặc sth.?
Boro

8
@Boro: mã đặt lại tắt tất cả các thuộc tính ANSI được đặt cho đến nay, sẽ trả lại bàn điều khiển về mặc định của nó. Nó hữu ích nếu bạn không biết màu mặc định hoặc cũng đang sử dụng một số thuộc tính khác như màu nền, kiểu phông chữ, v.v.
WhiteFang34

2
jansi thực sự tuyệt vời! Đối với những người phát triển nhật thực, tôi có thể giới thiệu plugin này: mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console và đoạn mã đẹp để bật màu nếu mã không được thực thi trong bảng điều khiển:if (System.console() == null) System.setProperty("jansi.passthrough", "true");
Danny Lo

1
@PankajNimgade, đọc lại câu trả lời và bạn sẽ có thể nhận thấy điều này:however it doesn't work for Windows command prompt
Felix Edelmann

1
@DannyLo Cảm ơn bạn rất nhiều vì liên kết đến plugin Eclipse!

72

Dưới đây là danh sách các màu trong một lớp Java với public staticcác trường

Sử dụng

System.out.println(ConsoleColors.RED + "RED COLORED" +
ConsoleColors.RESET + " NORMAL");


Lưu ý Đừng quên sử dụng RESETsau khi in vì hiệu ứng sẽ vẫn còn nếu nó không bị xóa


public class ConsoleColors {
    // Reset
    public static final String RESET = "\033[0m";  // Text Reset

    // Regular Colors
    public static final String BLACK = "\033[0;30m";   // BLACK
    public static final String RED = "\033[0;31m";     // RED
    public static final String GREEN = "\033[0;32m";   // GREEN
    public static final String YELLOW = "\033[0;33m";  // YELLOW
    public static final String BLUE = "\033[0;34m";    // BLUE
    public static final String PURPLE = "\033[0;35m";  // PURPLE
    public static final String CYAN = "\033[0;36m";    // CYAN
    public static final String WHITE = "\033[0;37m";   // WHITE

    // Bold
    public static final String BLACK_BOLD = "\033[1;30m";  // BLACK
    public static final String RED_BOLD = "\033[1;31m";    // RED
    public static final String GREEN_BOLD = "\033[1;32m";  // GREEN
    public static final String YELLOW_BOLD = "\033[1;33m"; // YELLOW
    public static final String BLUE_BOLD = "\033[1;34m";   // BLUE
    public static final String PURPLE_BOLD = "\033[1;35m"; // PURPLE
    public static final String CYAN_BOLD = "\033[1;36m";   // CYAN
    public static final String WHITE_BOLD = "\033[1;37m";  // WHITE

    // Underline
    public static final String BLACK_UNDERLINED = "\033[4;30m";  // BLACK
    public static final String RED_UNDERLINED = "\033[4;31m";    // RED
    public static final String GREEN_UNDERLINED = "\033[4;32m";  // GREEN
    public static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOW
    public static final String BLUE_UNDERLINED = "\033[4;34m";   // BLUE
    public static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLE
    public static final String CYAN_UNDERLINED = "\033[4;36m";   // CYAN
    public static final String WHITE_UNDERLINED = "\033[4;37m";  // WHITE

    // Background
    public static final String BLACK_BACKGROUND = "\033[40m";  // BLACK
    public static final String RED_BACKGROUND = "\033[41m";    // RED
    public static final String GREEN_BACKGROUND = "\033[42m";  // GREEN
    public static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOW
    public static final String BLUE_BACKGROUND = "\033[44m";   // BLUE
    public static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLE
    public static final String CYAN_BACKGROUND = "\033[46m";   // CYAN
    public static final String WHITE_BACKGROUND = "\033[47m";  // WHITE

    // High Intensity
    public static final String BLACK_BRIGHT = "\033[0;90m";  // BLACK
    public static final String RED_BRIGHT = "\033[0;91m";    // RED
    public static final String GREEN_BRIGHT = "\033[0;92m";  // GREEN
    public static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOW
    public static final String BLUE_BRIGHT = "\033[0;94m";   // BLUE
    public static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLE
    public static final String CYAN_BRIGHT = "\033[0;96m";   // CYAN
    public static final String WHITE_BRIGHT = "\033[0;97m";  // WHITE

    // Bold High Intensity
    public static final String BLACK_BOLD_BRIGHT = "\033[1;90m"; // BLACK
    public static final String RED_BOLD_BRIGHT = "\033[1;91m";   // RED
    public static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREEN
    public static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOW
    public static final String BLUE_BOLD_BRIGHT = "\033[1;94m";  // BLUE
    public static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLE
    public static final String CYAN_BOLD_BRIGHT = "\033[1;96m";  // CYAN
    public static final String WHITE_BOLD_BRIGHT = "\033[1;97m"; // WHITE

    // High Intensity backgrounds
    public static final String BLACK_BACKGROUND_BRIGHT = "\033[0;100m";// BLACK
    public static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// RED
    public static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREEN
    public static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOW
    public static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUE
    public static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLE
    public static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m";  // CYAN
    public static final String WHITE_BACKGROUND_BRIGHT = "\033[0;107m";   // WHITE
}

55

Tôi đã tạo một thư viện có tên JCDP ( Máy in gỡ lỗi màu Java ).

Đối với Linux, macOS và Windows 10, nó sử dụng mã thoát ANSI mà WhiteFang đã đề cập, nhưng tóm tắt chúng bằng các từ thay vì mã trực quan hơn nhiều. Nó trở nên dễ dàng như:

print("Hello World!", Attribute.BOLD, FColor.YELLOW, BColor.GREEN);

Bạn có một số ví dụ tại kho github của JCDP .


33

Hãy thử enum sau:

enum Color {
    //Color end string, color reset
    RESET("\033[0m"),

    // Regular Colors. Normal color, no bold, background color etc.
    BLACK("\033[0;30m"),    // BLACK
    RED("\033[0;31m"),      // RED
    GREEN("\033[0;32m"),    // GREEN
    YELLOW("\033[0;33m"),   // YELLOW
    BLUE("\033[0;34m"),     // BLUE
    MAGENTA("\033[0;35m"),  // MAGENTA
    CYAN("\033[0;36m"),     // CYAN
    WHITE("\033[0;37m"),    // WHITE

    // Bold
    BLACK_BOLD("\033[1;30m"),   // BLACK
    RED_BOLD("\033[1;31m"),     // RED
    GREEN_BOLD("\033[1;32m"),   // GREEN
    YELLOW_BOLD("\033[1;33m"),  // YELLOW
    BLUE_BOLD("\033[1;34m"),    // BLUE
    MAGENTA_BOLD("\033[1;35m"), // MAGENTA
    CYAN_BOLD("\033[1;36m"),    // CYAN
    WHITE_BOLD("\033[1;37m"),   // WHITE

    // Underline
    BLACK_UNDERLINED("\033[4;30m"),     // BLACK
    RED_UNDERLINED("\033[4;31m"),       // RED
    GREEN_UNDERLINED("\033[4;32m"),     // GREEN
    YELLOW_UNDERLINED("\033[4;33m"),    // YELLOW
    BLUE_UNDERLINED("\033[4;34m"),      // BLUE
    MAGENTA_UNDERLINED("\033[4;35m"),   // MAGENTA
    CYAN_UNDERLINED("\033[4;36m"),      // CYAN
    WHITE_UNDERLINED("\033[4;37m"),     // WHITE

    // Background
    BLACK_BACKGROUND("\033[40m"),   // BLACK
    RED_BACKGROUND("\033[41m"),     // RED
    GREEN_BACKGROUND("\033[42m"),   // GREEN
    YELLOW_BACKGROUND("\033[43m"),  // YELLOW
    BLUE_BACKGROUND("\033[44m"),    // BLUE
    MAGENTA_BACKGROUND("\033[45m"), // MAGENTA
    CYAN_BACKGROUND("\033[46m"),    // CYAN
    WHITE_BACKGROUND("\033[47m"),   // WHITE

    // High Intensity
    BLACK_BRIGHT("\033[0;90m"),     // BLACK
    RED_BRIGHT("\033[0;91m"),       // RED
    GREEN_BRIGHT("\033[0;92m"),     // GREEN
    YELLOW_BRIGHT("\033[0;93m"),    // YELLOW
    BLUE_BRIGHT("\033[0;94m"),      // BLUE
    MAGENTA_BRIGHT("\033[0;95m"),   // MAGENTA
    CYAN_BRIGHT("\033[0;96m"),      // CYAN
    WHITE_BRIGHT("\033[0;97m"),     // WHITE

    // Bold High Intensity
    BLACK_BOLD_BRIGHT("\033[1;90m"),    // BLACK
    RED_BOLD_BRIGHT("\033[1;91m"),      // RED
    GREEN_BOLD_BRIGHT("\033[1;92m"),    // GREEN
    YELLOW_BOLD_BRIGHT("\033[1;93m"),   // YELLOW
    BLUE_BOLD_BRIGHT("\033[1;94m"),     // BLUE
    MAGENTA_BOLD_BRIGHT("\033[1;95m"),  // MAGENTA
    CYAN_BOLD_BRIGHT("\033[1;96m"),     // CYAN
    WHITE_BOLD_BRIGHT("\033[1;97m"),    // WHITE

    // High Intensity backgrounds
    BLACK_BACKGROUND_BRIGHT("\033[0;100m"),     // BLACK
    RED_BACKGROUND_BRIGHT("\033[0;101m"),       // RED
    GREEN_BACKGROUND_BRIGHT("\033[0;102m"),     // GREEN
    YELLOW_BACKGROUND_BRIGHT("\033[0;103m"),    // YELLOW
    BLUE_BACKGROUND_BRIGHT("\033[0;104m"),      // BLUE
    MAGENTA_BACKGROUND_BRIGHT("\033[0;105m"),   // MAGENTA
    CYAN_BACKGROUND_BRIGHT("\033[0;106m"),      // CYAN
    WHITE_BACKGROUND_BRIGHT("\033[0;107m");     // WHITE

    private final String code;

    Color(String code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return code;
    }
}

Và bây giờ chúng ta sẽ làm một ví dụ nhỏ:

class RunApp {
    public static void main(String[] args) {

        System.out.print(Color.BLACK_BOLD);
        System.out.println("Black_Bold");
        System.out.print(Color.RESET);

        System.out.print(Color.YELLOW);
        System.out.print(Color.BLUE_BACKGROUND);
        System.out.println("YELLOW & BLUE");
        System.out.print(Color.RESET);

        System.out.print(Color.YELLOW);
        System.out.println("YELLOW");
        System.out.print(Color.RESET);
    }
}

2
Đây là bản sao của câu trả lời stackoverflow.com/a/45444716/675577
dialex

14

Một cách khá di động để làm điều đó là với các chuỗi thoát thô. Xem http://en.wikipedia.org/wiki/ANSI_escape_code

[được chỉnh sửa cho user9999999 vào ngày 2017 / 02-20]

Java không "xử lý mã", điều đó đúng, nhưng Java xuất ra những gì bạn đã nói với nó. Không phải lỗi của Java mà bảng điều khiển Windows coi ESC (chr (27)) như một glyph (←) khác.

bạn làm cho tôi khởi động vào Windows.  bạn nợ tôi


không hoạt động vì lớp Java IO không chuyển đổi chúng thành màu. System.out.println ((char) 27 + "[31; 1mERROR" + (char) 27 + "[0m" chỉ mang lại "[31; 1mERROR [0m" khi chạy từ windows cmd.com dưới dạng thực thi .jar
đơn giản hóa

câu hỏi không được gắn thẻ windows. giao diện điều khiển Windows chưa bao giờ tuân thủ ANSI mà tôi nhớ.
jcomeau_ictx

nhưng vấn đề là java không xử lý mã, bất kể sự hỗ trợ của cmd.com
đơn giản hóa

3
xem câu trả lời chỉnh sửa. Java đang làm chính xác như nó đã nói. vấn đề là giao diện điều khiển không tuân thủ ANSI.
jcomeau_ictx

1
Tôi có cùng một vấn đề
sgrillon 15/03/18

7

Bạn có thể làm điều này bằng cách sử dụng các chuỗi thoát ANSI. Tôi thực sự đã kết hợp lớp này trong Java cho bất kỳ ai muốn một cách giải quyết đơn giản cho việc này. Nó cho phép nhiều hơn chỉ là mã màu.

https://gist.github.com/nathan-fryptetti / 9dc252d30b51df7d710a

(Được chuyển từ: https://github.com/nathan-fryptetti / ani -util )

Ví dụ sử dụng:

StringBuilder sb = new StringBuilder();

System.out.println(
    sb.raw("Hello, ")
      .underline("John Doe")
      .resetUnderline()
      .raw(". ")
      .raw("This is ")
      .color16(StringBuilder.Color16.FG_RED, "red")
      .raw(".")
);

6

Nếu bất cứ ai đang tìm kiếm một giải pháp nhanh chóng, vui lòng sử dụng lớp trợ giúp sau :)

public class Log {

    public static final String ANSI_RESET = "\u001B[0m";
    public static final String ANSI_BLACK = "\u001B[30m";
    public static final String ANSI_RED = "\u001B[31m";
    public static final String ANSI_GREEN = "\u001B[32m";
    public static final String ANSI_YELLOW = "\u001B[33m";
    public static final String ANSI_BLUE = "\u001B[34m";
    public static final String ANSI_PURPLE = "\u001B[35m";
    public static final String ANSI_CYAN = "\u001B[36m";
    public static final String ANSI_WHITE = "\u001B[37m";

    //info
    public static void i(String className, String message) {
        System.out.println(ANSI_GREEN + className + " : " + message + ANSI_RESET);
    }

    //error
    public static void e(String className, String message) {
        System.out.println(ANSI_RED + className + " : " + message + ANSI_RESET);
    }

    //debug
    public static void d(String className, String message) {
        System.out.println(ANSI_BLUE + className + " : " + message + ANSI_RESET);
    }

    //warning
    public static void w(String className, String message) {
        System.out.println(ANSI_YELLOW + className + " : " + message + ANSI_RESET);
    }

}

SỬ DỤNG:

Log.i(TAG,"This is an info message");

Log.e(TAG,"This is an error message");

Log.w(TAG,"This is a warning message");

Log.d(TAG,"This is a debug message");

Cảm ơn @ whiteFang34 cho các mã ANSI.


4

Cách tốt nhất để tô màu văn bản bảng điều khiển là sử dụng mã thoát ANSI . Ngoài màu văn bản, mã thoát ANSI cho phép màu nền, trang trí và hơn thế nữa.

Unix

Nếu bạn sử dụng springboot, có một enum cụ thể để tô màu văn bản: org.springframework.boot.ansi.AnsiColor

Thư viện Jansi cao cấp hơn một chút (có thể sử dụng tất cả các cấu hình mã thoát ANSI), cung cấp API và có hỗ trợ cho Windows bằng JNA.

Mặt khác, bạn có thể tự xác định màu của mình, như được hiển thị là các phản hồi khác.

Windows 10

Windows 10 (kể từ bản dựng 10.0.10586 - nov. 2015) hỗ trợ mã thoát ANSI ( tài liệu MSDN ) nhưng nó không được bật theo mặc định. Để kích hoạt nó:

  • Với API SetConsoleMode , hãy sử dụngENABLE_VIRTUAL_TERMINAL_PROCESSING (0x0400) cờ. Jansi sử dụng tùy chọn này.
  • Nếu API SetConsoleMode không được sử dụng, có thể thay đổi khóa đăng ký toàn cầu HKEY_CURRENT_USER\Console\VirtualTerminalLevelbằng cách tạo một từ khóa và đặt thành 0 hoặc 1 để xử lý ANSI: "VirtualTerminalLevel"=dword:00000001

Trước Windows 10

Bảng điều khiển Windows không hỗ trợ màu ANSI. Nhưng nó có thể sử dụng giao diện điều khiển.


1

Sử dụng chức năng màu để in văn bản với màu sắc

Mã số:

enum Color {

    RED("\033[0;31m"),      // RED
    GREEN("\033[0;32m"),    // GREEN
    YELLOW("\033[0;33m"),   // YELLOW
    BLUE("\033[0;34m"),     // BLUE
    MAGENTA("\033[0;35m"),  // MAGENTA
    CYAN("\033[0;36m"),     // CYAN

    private final String code

    Color(String code) {
        this.code = code;
    }

    @Override
    String toString() {
        return code
    }
}

def color = { color, txt ->
    def RESET_COLOR = "\033[0m"
    return "${color}${txt}${RESET_COLOR}"
}

Sử dụng:


test {
    println color(Color.CYAN, 'testing')
}

0

Để tấn công:

public static final String ANSI_STRIKEOUT_BLACK = "\u001B[30;9m";
public static final String ANSI_STRIKEOUT_RED = "\u001B[31;9m";
public static final String ANSI_STRIKEOUT_GREEN = "\u001B[32;9m";
public static final String ANSI_STRIKEOUT_YELLOW = "\u001B[33;9m";
public static final String ANSI_STRIKEOUT_BLUE = "\u001B[34;9m";
public static final String ANSI_STRIKEOUT_PURPLE = "\u001B[35;9m";
public static final String ANSI_STRIKEOUT_CYAN = "\u001B[36;9m";
public static final String ANSI_STRIKEOUT_WHITE = "\u001B[37;9m";

-1

Giải pháp tốt nhất để in bất kỳ văn bản nào có màu đỏ trong Java là:

System.err.print("Hello World");

"Downvote" không phải của tôi - nhưng, có những câu trả lời khác cung cấp câu hỏi của OP và chúng đã được đăng cách đây một thời gian. Khi đăng một câu trả lời xem: Làm thế nào để tôi viết một câu trả lời tốt? , vui lòng đảm bảo bạn thêm một giải pháp mới hoặc giải thích rõ ràng hơn, đặc biệt là khi trả lời các câu hỏi cũ hơn.
help-info.de 7/11/19

7
@iSahil điều này có lẽ đã bị hạ cấp bởi vì chỉ cần viết vào lỗi tiêu chuẩn không tô màu rõ ràng bất cứ điều gì. Nhiều IDE và bảng điều khiển sẽ diễn giải các thông báo lỗi và in chúng bằng màu đỏ hoặc tương tự, nhưng đó không phải là thứ bạn có thể dựa vào.
David

1
Mặc dù đây không phải là câu trả lời trực tiếp cho câu hỏi được hỏi ở trên, đây là câu trả lời tôi đang tìm kiếm khi tìm kiếm "bản in java trong bảng điều khiển màu đỏ". Vì vậy, tôi cảm thấy như nó có vị trí trên trang này.
Maude

-2

Nếu bạn sử dụng Kotlin (hoạt động hoàn hảo với Java), bạn có thể tạo ra một enum như vậy:

enum class AnsiColor(private val colorNumber: Byte) {
    BLACK(0), RED(1), GREEN(2), YELLOW(3), BLUE(4), MAGENTA(5), CYAN(6), WHITE(7);

    companion object {
        private const val prefix = "\u001B"
        const val RESET = "$prefix[0m"
        private val isCompatible = "win" !in System.getProperty("os.name").toLowerCase()
    }

    val regular get() = if (isCompatible) "$prefix[0;3${colorNumber}m" else ""
    val bold get() = if (isCompatible) "$prefix[1;3${colorNumber}m" else ""
    val underline get() = if (isCompatible) "$prefix[4;3${colorNumber}m" else ""
    val background get() = if (isCompatible) "$prefix[4${colorNumber}m" else ""
    val highIntensity get() = if (isCompatible) "$prefix[0;9${colorNumber}m" else ""
    val boldHighIntensity get() = if (isCompatible) "$prefix[1;9${colorNumber}m" else ""
    val backgroundHighIntensity get() = if (isCompatible) "$prefix[0;10${colorNumber}m" else ""
}

Và sau đó sử dụng là như vậy: (mã bên dưới hiển thị các kiểu khác nhau cho tất cả các màu)

val sampleText = "This is a sample text"
enumValues<AnsiColor>().forEach { ansiColor ->
    println("${ansiColor.regular}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.bold}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.underline}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.background}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.highIntensity}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.boldHighIntensity}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.backgroundHighIntensity}$sampleText${AnsiColor.RESET}")
}

Nếu chạy trên Windows nơi các mã ANSI này không được hỗ trợ, isCompatiblekiểm tra sẽ tránh được các vấn đề bằng cách thay thế mã bằng chuỗi trống.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.