java - 如何在没有 JFrame 的控制台上输入图形?
问题描述
我使用codiva在 chromebook 上进行编码。我只是想知道是否可以在控制台输出中创建图形。例如,我现在的文本是普通文本(它在控制台中以纯文本形式打印)。如果我只能使用控制台进行输出(没有画布、Jframe、弹出窗口等),有没有办法加粗、强调甚至更改文本的颜色?
我试过“\u001B[1m(粗体文本)”,我得到的只是(见输出)。斜体也一样。
输出:
解决方案
控制序列的解释是特定控制台的主题,似乎 codiva.io 的控制台不解释任何控制序列。
但是,由于它显示在浏览器中并且浏览器通常具有广泛的 Unicode 支持,因此您可以使用特殊代码点实现有限的格式设置。例如
class HelloCodiva {
public static void main(String[] args) {
System.out.println("Formatted: "
+ bold("bold") + " " + italic("italic") + " " + bold(italic("both")));
}
static CharSequence bold(CharSequence cs) {
return trans(cs, 0x1D400, 0x1D41A);
}
static CharSequence italic(CharSequence cs) {
return trans(cs, 0x1D434, 0x1D44e);
}
static CharSequence trans(CharSequence cs, int upper, int lower) {
return cs.codePoints()
.map(cp -> cp >= 'A' && cp <= 'Z'? cp + upper - 'A':
cp >= 'a' && cp <= 'z'? cp + lower - 'a':
cp >= 0x1D400 && cp <= 0x1D433? cp + 104:
cp >= 0x1D434 && cp <= 0x1D467? cp + 52:
cp)
.collect(StringBuilder::new,
StringBuilder::appendCodePoint, StringBuilder::append);
}
}
印刷
Formatted:
在 codiva.io 的控制台中。
限制是它只适用于字母。但是为了突出重要的词,这可能就足够了。
推荐阅读
- javascript - Node.js [系统:输入意外结束]错误(再次)
- javascript - Gatsby 网页的 VS Code 中出现意外的字符错误
- css - Bootstrap - 在活动 btn-check 上添加三角形指示器
- reactjs - 如何让托管在 WebView2 控件中的 reactjs Web 应用程序使用 Windows 登录验证到 Okta?
- java - 通过仅知道另一个节点的子节点的 xPath 获取值 - selenium
- debugging - 如何调试 Snakefile 中的配置变量
- mercurial - 使用 Mercurial 中远程仓库的更改更新本地仓库
- ios - 为什么我的属性文本会丢失段落样式?
- reactjs -
AgGridReact 中的组件与 columnDefs 道具 - reactjs - NPM 显示错误,src 和公用文件夹也未安装