web-dev-qa-db-fra.com

java, impression en gras

Comment imprimer la sortie en gras dans printf? "[1m testing bold" ne fait rien.

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

Vous ne pouvez pas imprimer en gras avec Java System.out. Il diffuse simplement le flux de sortie standard, donc, en principe, il s'agit uniquement de texte non formaté.

Cependant, certains logiciels interprètent des séquences de caractères spéciaux (les séquences d'échappement dites ANSI) pour permettre le formatage.

Notez que les séquences d'échappement ANSI commencent par un caractère d'échappement, vous devez donc également l'ajouter à votre chaîne. (Essayez "\ u001B [1m je suis en gras".)

La plupart des terminaux Unix interprètent les séquences d'échappement ANSI par défaut. Dans les anciens temps DOS, vous deviez utiliser ANSI.SYS pour que les séquences d'échappement fonctionnent.

Sous Windows et le terminal Eclipse, les codes ne fonctionnent pas.

14
Hoopje

Cela dépend vraiment du type de console utilisé. Pour les IDE comme Netbeans et Eclipse, je ne sais pas si vous pouvez affecter la police. Mais pour la plupart des terminaux, le caractère d'échappement suivant fonctionne:

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