Java控制台中的颜色

6

基本上,我想知道在Java控制台应用程序中是否有指定背景和文本颜色的方法。我正在编写控制台菜单。此外,如果有任何简单的清除控制台的方法。

谢谢。

1个回答

6
你可以使用 ANSI转义码来指定控制台应用程序中文本的前景色和背景色,前提是你正在使用支持ANSI模式的终端运行应用程序。你不需要任何额外的库来使用这些代码,你可以直接嵌入到你的字符串中。然而,由于它们看起来有点混乱,你可以使用像 JCurses这样的库来使应用各种ANSI代码更容易应用。
以下是一个示例程序:
public static void main(String args[]) {
    System.out.println((char)27+"[01;31m;This text is red."+(char)27+"[00;00m");
    System.out.println((char)27+"[01;32m;This text is green."+(char)27+"[00;00m");
}

作为额外的奖励,ANSI转义码还可以帮助您进行屏幕清除和光标定位。

哦,好的,谢谢。我现在正在解决同一个程序的另一个问题,所以一旦解决了那个问题,我会使用它们。 - Jack H
你只是将它们嵌入字符串中吗? - Jack H
如果输出控制台支持,您可以这样做。我已经添加了一个在Linux和MacOSx上工作的测试程序。如果在Windows上无法正常工作,请尝试使用jcurses库。 - Jason LeBrun
啊,那没关系,我瞄准的系统本来就是基于Linux的。谢谢。 - Jack H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接