web-dev-qa-db-ja.com

java、太字で印刷

Printfで出力を太字で印刷するにはどうすればよいですか? "[1m testing bold"は何もしません。

String format = "%-20s %-15s %-20s %-15s %-10s";

System.out.printf(format, "Name", "Group_name", "Java_Prof_Level", "Cpr_Nr", "Gender", "[1m testing bold");
5
Na Dia

Java System.out。で太字を印刷することはできません。標準出力ストリームにストリームするだけなので、原則として、書式なしテキストのみです。

ただし、一部のソフトウェアパッケージは、特殊文字シーケンス(いわゆるANSIエスケープシーケンス)を解釈してフォーマットを許可します。

ANSIエスケープシーケンスはエスケープ文字で始まるため、文字列にも追加する必要があることに注意してください。 ("\ u001B [1m I am bold"をお試しください。)

ほとんどのUnix端末は、デフォルトでANSIエスケープシーケンスを解釈します。古いDOS時代には、エスケープシーケンスが機能するためにANSI.SYSを使用する必要がありました。

WindowsおよびEclipseターミナルでは、コードは機能しません。

14
Hoopje

これは実際に使用されているコンソールの種類によって異なります。 NetbeansやEclipseなどのIDEの場合、フォントに影響を与えることができるかどうかはわかりません。ただし、ほとんどの端末では、次のエスケープ文字が機能します。

String textInBold = "Java_Prof_Level";
System.out.print("\033[0;1m" + textInBold);
3
hrdasadia