2011-10-13 152 views
1

如何根据控制台的值更改控制台中字符串的颜色。例如:如果's'是在类中声明的字符串。在java中更改字符串的颜色

我有一个方法返回(成功或失败)使用if else。 现在我想将方法​​的返回值赋给's'并更改它在控制台中显示的颜色。 即,如果'成功'。印在绿色等;

+5

这高度依赖于您正在使用的终端。 – aioobe

回答

6

一个字符串本身没有任何格式信息。如何以特定的方式显示字符串将取决于输出上下文 - 例如,在控制台中,您可以使用可以使用ANSI escape sequences(如果您的控制台支持它们);在HTML中,您将使用样式(或类似);在Swing UI中,您可能会更改控件的前景色。

所以,如果你知道你打算使用终端/控制台,尝试我链接到的ANSI转义代码 - 但要知道,他们不会普遍工作。

1

标准Java文本控制台是跨平台的,所以它本身不支持颜色。根据您的平台,您可以使用不同的转义码等来获得所需的结果,但所有这些都很容易出错,并且涉及大量额外的工作。

这里有一个建议:

给这个Jansi库(http://jansi.fusesource.org/)一抡。

您可以在这里ANSI代码http://www.ioncannon.net/ruby/101/fun-with-ansi-escape-codes/

随着Jansi库的详细读了,你应该能够如你所愿而影响了你的文字,例如:

AnsiConsole.systemInstall(); 
    AnsiConsole.out.println("\033[32mHowdy"); 

上面的代码打印你好在绿色,在控制台,虽然这不适合在IDE内工作。但是,当我从命令行在我的机器上运行它时,它按预期工作。

祝你好运!