我有一个Java程序,它使用JLine2来处理控制台终端上的输入和输出。出于美观原因,如果终端的背景颜色为白色,则此程序的效果最佳。
那么,是否可以在java中设置终端的背景颜色?理想情况下使用JLine,但我不介意其他解决方案,只要它们可移植且不过分复杂。
这就是我想做的事情:
ConsoleReader console= new ConsoleReader();
console.getTerminal().setBackgroundColor("WHITE") // <- Ideally!
编辑
我不认为问题Highlighting text in commandline java是相关的。我不想设置打印字符的背景颜色,而是想设置终端屏幕的背景颜色。我可以打印一堆带有白色背景的空白区域然后在其上打印,但对我来说这似乎是一个非常笨拙的解决方案。
例如,从此(黑色背景):
我想要这个(白色背景):
谢谢!
的Dario
答案 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 sequences和http://misc.flogisoft.com/bash/tip_colors_and_formatting