使用 Java 设置终端背景颜色
Set terminal background color with Java
我有一个 Java 程序,它使用 JLine2 来处理控制台终端上的输入和输出。出于美学原因,如果终端的背景颜色为白色,则此程序效果最佳。
那么,是否可以在 java 中设置终端的背景颜色?理想情况下使用 JLine,但我不介意其他解决方案,只要它们可移植且不太复杂即可。
这就是我想做的事情:
ConsoleReader console= new ConsoleReader();
console.getTerminal().setBackgroundColor("WHITE") // <- Ideally!
编辑
我认为 这个问题不相关。我不想设置打印字符的背景颜色,而是想设置终端屏幕的背景颜色。我可以打印一堆白色背景的空白,然后在上面打印,但对我来说这似乎是一个非常笨拙的解决方案。
例如,来自这个(黑色背景):
我要这个(白色背景):
谢谢!
达里奥
我会尝试使用转义码。
白色背景为 \e[107m
,黑色前景为 \e[30m
,即类似以下内容会导致白底黑字:
echo -e "\e[107m\e[30mTest String"
在 Java 中,您会在应用程序启动期间 System.out.println("3[107m3[30m")
。
有关详细信息,请参阅 List of ANSI color escape sequences and http://misc.flogisoft.com/bash/tip_colors_and_formatting
我有一个 Java 程序,它使用 JLine2 来处理控制台终端上的输入和输出。出于美学原因,如果终端的背景颜色为白色,则此程序效果最佳。
那么,是否可以在 java 中设置终端的背景颜色?理想情况下使用 JLine,但我不介意其他解决方案,只要它们可移植且不太复杂即可。
这就是我想做的事情:
ConsoleReader console= new ConsoleReader();
console.getTerminal().setBackgroundColor("WHITE") // <- Ideally!
编辑
我认为
例如,来自这个(黑色背景):
我要这个(白色背景):
谢谢!
达里奥
我会尝试使用转义码。
白色背景为 \e[107m
,黑色前景为 \e[30m
,即类似以下内容会导致白底黑字:
echo -e "\e[107m\e[30mTest String"
在 Java 中,您会在应用程序启动期间 System.out.println("3[107m3[30m")
。
有关详细信息,请参阅 List of ANSI color escape sequences and http://misc.flogisoft.com/bash/tip_colors_and_formatting