用Java设置终端背景颜色

时间:2016-08-11 15:41:50

标签: java colors terminal jline

我有一个Java程序,它使用JLine2来处理控制台终端上的输入和输出。出于美观原因,如果终端的背景颜色为白色,则此程序的效果最佳。

那么,是否可以在java中设置终端的背景颜色?理想情况下使用JLine,但我不介意其他解决方案,只要它们可移植且不过分复杂。

这就是我想做的事情:

ConsoleReader console= new ConsoleReader(); 
console.getTerminal().setBackgroundColor("WHITE") // <- Ideally!

编辑

我不认为问题Highlighting text in commandline java是相关的。我不想设置打印字符的背景颜色,而是想设置终端屏幕的背景颜色。我可以打印一堆带有白色背景的空白区域然后在其上打印,但对我来说这似乎是一个非常笨拙的解决方案。

例如,从此(黑色背景):

enter image description here

我想要这个(白色背景):

enter image description here

谢谢!

的Dario

1 个答案:

答案 0 :(得分:2)

我会尝试使用转义码。

白色背景为\e[107m,黑色前景\e[30m,即以下内容会导致白色为黑色:

echo -e "\e[107m\e[30mTest String"

在Java中,在应用程序启动期间你会System.out.println("\033[107m\033[30m")

有关详细信息,请参阅List of ANSI color escape sequenceshttp://misc.flogisoft.com/bash/tip_colors_and_formatting