Ich führe eine Konsolenanwendung in Netbeans aus, die eine Benutzereingabe anfordert, die Eingabe überprüft und eine Fehlermeldung ausgibt, wenn die Eingabe die Validierung nicht bestanden hat und erneut angezeigt wird. Die Fehlermeldung, die ich eingerichtet habe, um in rotem Text pro this answer zu drucken. Es funktioniert perfekt, speichern Sie ein Problem.Einstellen der Farbe des Benutzereingabetextes nach dem Drucken einer ANSI-farbigen Nachricht?
Nachdem das Programm nach einer zweiten Eingabe gefragt hat, weil die erste Eingabe ungültig war, haben Benutzereingaben, die dieser Fehlermeldung folgen, die gleiche Farbe wie die Fehlermeldung.
Zum Beispiel hat der Benutzer eine ungültige Eingabe eingegeben. Sie geben ihre Eingabe nach der Fehlermeldung erneut ein. Es sollte in der Standardtextfarbe (schwarz in meiner Version) gedruckt werden, aber es wird stattdessen als roter Text gedruckt.
Gibt es eine Möglichkeit, in dem sollte mich die Anwendung des ANSI-Farbcode auf meinem Text schließen? Eine Art End-Tag?
Code:
public static void main(String[] args)
{
//Initialize keyboard input
Scanner keyboard = new Scanner(System.in);
//Print prompt to screen
System.out.println("User input prompt goes here: ");
//Store user input
String inputGot = keyboard.nextLine();
//Print a dummy error message
System.out.println("\u001B[31m" + "This is an error of some sort. "
+ "Please re-enter input: ");
//Rerun input prompt (this would be looped in the real program)
System.out.println("User input prompt goes here: ");
//Store user input
inputGot = keyboard.nextLine();
}
Das hat es behoben. Sehr geschätzt! –