在java中更改字符串的颜色

时间:2011-10-13 09:45:49

标签: java colors

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

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

2 个答案:

答案 0 :(得分:7)

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

因此,如果您知道您将使用终端/控制台,请尝试我链接到的ANSI转义码 - 但要注意它们不会普遍使用。

答案 1 :(得分: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");

上面的代码在控制台中以绿色打印Howdy,尽管这在IDE中不起作用。但是,当我从命令行在我的机器上运行它时,它按预期工作。

祝你好运!