2

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

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

这就是我想做的:

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

编辑

我不认为在命令行 java 中突出显示文本的问题是相关的。我不想设置打印字符的背景颜色,而是想设置终端屏幕的背景颜色。我可以打印一堆白色背景的空白,然后在上面打印,但这对我来说似乎是一个非常笨拙的解决方案。

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

在此处输入图像描述

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

在此处输入图像描述

谢谢!

达里奥

4

1 回答 1

2

我会尝试使用转义码。

白色背景是\e[107m,黑色前景\e[30m,即类似以下内容会导致白底黑字:

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

在 Java 中,您将System.out.println("\033[107m\033[30m")在应用程序启动期间进行。

有关更多详细信息,请参阅ANSI 颜色转义序列列表http://misc.flogisoft.com/bash/tip_colors_and_formatting

于 2016-08-12T11:21:58.033 回答