问题:怎么样用System.out.println在控制台打印出颜色
怎么样才能在控制台里打印颜色啊?我想要展示一些有颜色的字体,当处理器发送数据和接收数据的时候,也使用不同颜色的字体。
回答一
在这个Java类里面带有public static
的数据域里面有一系列的颜色。
用法
System.out.println(ConsoleColors.RED + "RED COLORED" +
ConsoleColors.RESET + " NORMAL");
记住千万不要忘记在打印以后重置,没有清理的话,那个效果会一直保留的。
public class ConsoleColors {// Resetpublic static final String RESET = "\033[0m"; // Text Reset// Regular Colorspublic static final String BLACK = "\033[0;30m"; // BLACKpublic static final String RED = "\033[0;31m"; // REDpublic static final String GREEN = "\033[0;32m"; // GREENpublic static final String YELLOW = "\033[0;33m"; // YELLOWpublic static final String BLUE = "\033[0;34m"; // BLUEpublic static final String PURPLE = "\033[0;35m"; // PURPLEpublic static final String CYAN = "\033[0;36m"; // CYANpublic static final String WHITE = "\033[0;37m"; // WHITE// Boldpublic static final String BLACK_BOLD = "\033[1;30m"; // BLACKpublic static final String RED_BOLD = "\033[1;31m"; // REDpublic static final String GREEN_BOLD = "\033[1;32m"; // GREENpublic static final String YELLOW_BOLD = "\033[1;33m"; // YELLOWpublic static final String BLUE_BOLD = "\033[1;34m"; // BLUEpublic static final String PURPLE_BOLD = "\033[1;35m"; // PURPLEpublic static final String CYAN_BOLD = "\033[1;36m"; // CYANpublic static final String WHITE_BOLD = "\033[1;37m"; // WHITE// Underlinepublic static final String BLACK_UNDERLINED = "\033[4;30m"; // BLACKpublic static final String RED_UNDERLINED = "\033[4;31m"; // REDpublic static final String GREEN_UNDERLINED = "\033[4;32m"; // GREENpublic static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOWpublic static final String BLUE_UNDERLINED = "\033[4;34m"; // BLUEpublic static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLEpublic static final String CYAN_UNDERLINED = "\033[4;36m"; // CYANpublic static final String WHITE_UNDERLINED = "\033[4;37m"; // WHITE// Backgroundpublic static final String BLACK_BACKGROUND = "\033[40m"; // BLACKpublic static final String RED_BACKGROUND = "\033[41m"; // REDpublic static final String GREEN_BACKGROUND = "\033[42m"; // GREENpublic static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOWpublic static final String BLUE_BACKGROUND = "\033[44m"; // BLUEpublic static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLEpublic static final String CYAN_BACKGROUND = "\033[46m"; // CYANpublic static final String WHITE_BACKGROUND = "\033[47m"; // WHITE// High Intensitypublic static final String BLACK_BRIGHT = "\033[0;90m"; // BLACKpublic static final String RED_BRIGHT = "\033[0;91m"; // REDpublic static final String GREEN_BRIGHT = "\033[0;92m"; // GREENpublic static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOWpublic static final String BLUE_BRIGHT = "\033[0;94m"; // BLUEpublic static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLEpublic static final String CYAN_BRIGHT = "\033[0;96m"; // CYANpublic static final String WHITE_BRIGHT = "\033[0;97m"; // WHITE// Bold High Intensitypublic static final String BLACK_BOLD_BRIGHT = "\033[1;90m"; // BLACKpublic static final String RED_BOLD_BRIGHT = "\033[1;91m"; // REDpublic static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREENpublic static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOWpublic static final String BLUE_BOLD_BRIGHT = "\033[1;94m"; // BLUEpublic static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLEpublic static final String CYAN_BOLD_BRIGHT = "\033[1;96m"; // CYANpublic static final String WHITE_BOLD_BRIGHT = "\033[1;97m"; // WHITE// High Intensity backgroundspublic static final String BLACK_BACKGROUND_BRIGHT = "\033[0;100m";// BLACKpublic static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// REDpublic static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREENpublic static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOWpublic static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUEpublic static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLEpublic static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m"; // CYANpublic static final String WHITE_BACKGROUND_BRIGHT = "\033[0;107m"; // WHITE}
回答二
使用颜色函数打印带有颜色的文本
代码:
enum Color {RED("\033[0;31m"), // REDGREEN("\033[0;32m"), // GREENYELLOW("\033[0;33m"), // YELLOWBLUE("\033[0;34m"), // BLUEMAGENTA("\033[0;35m"), // MAGENTACYAN("\033[0;36m"), // CYANprivate final String codeColor(String code) {this.code = code;}@OverrideString toString() {return code}
}def color = { color, txt ->def RESET_COLOR = "\033[0m"return "${color}${txt}${RESET_COLOR}"
}
用法:
test {println color(Color.CYAN, 'testing')
}
文章翻译自Stack Overflow:https://stackoverflow.com/questions/5762491/how-to-print-color-in-console-using-system-out-println