java - 用Java设置终端背景颜色

标签 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

谢谢!

达里奥

最佳答案

我会尝试使用转义码。

白色背景为\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了解更多详情

关于java - 用Java设置终端背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38900822/

相关文章:

java - 在 Android 中创建动态创建的 View 时如何添加事件处理程序?

java - 如何通过关闭一个阶段并返回到上一个阶段的值而不打开一个新阶段?

css - 链接字体颜色问题

wpf - WPF中是否有一个 "Pens"类来补充 "Brushes"和 "Colors"?

ruby - 如何在 Ruby 中获取终端窗口的宽度

java - Java 中动态类和包加载的最佳方法

java - 如何在没有任何 IDE 的情况下运行基本的 Spring MVC 应用程序?

c# - 在 C# 中将 RGB 颜色转换为最接近的 ACI 颜色

linux - 有条件地用单词替换数字

shell - Ubuntu 20.04 获取 shell 非常慢