java - 如何让 ANSI 亮色在 Windows cmd 中工作?

标签 java cmd ansi-escape jline jansi

我正在使用 java、jline 库和 jansi。我的常规颜色工作得很好,例如使用 \u001B[32mAnsi.ansi().fg(Ansi.Color.GREEN)

但是,我似乎无法让明亮的颜色发挥作用。我尝试过 \u001B[92mAnsi.ansi().fgBright(Ansi.Color.GREEN)

当我尝试使用明亮的颜色时,我没有看到控制台中出现任何奇怪的东西,但颜色没有改变。

其他信息:

  • 我使用的是 Windows 10 预览版,但我已在 Windows Server 2012 R2 上尝试过我的代码。

  • jansi 表示已检测到并启用了 ansi。

  • 在开始时发出 AnsiConsole.systemInstall(); 并不能解决我的问题。

最后一点:我的目标是跨平台。

最佳答案

我找到了解决办法!这就是 jansi 在深色和浅色之间切换所需的内容。例如:

Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.MAGENTA).boldOff().toString() 深紫色 Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.MAGENTA).bold().toString() 浅紫色

等等...

关于java - 如何让 ANSI 亮色在 Windows cmd 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30365817/

相关文章:

java - 如何将参数 Class<?> 赋予 Class<A>

powershell - 如何在几分钟内掌握流程的开始时间?

java - 从命令行启动 Minecraft - 用户名和密码作为前缀

java - 设置 Maven 环境变量

c++ - 在 C 中的无缓冲输入期间在 Linux 上读取 ESC

c# - 了解 VT100/ANSI 终端

java - Fork-join 中的内存可见性

java - pig : Regular Expression syntax

java - Antlr 处理异常

java - 在终端上以粗体打印